HTML
HTML指的是超文本标记语言(Hyper Text Markip Language),它不是一种编程语言而是一种标记语言,通过使用标签来描述网页。
HTML是网页的骨架,也是网页的基础,作为标记性语言具体有如下一些用途
定义了文档的信息
<title> 定义了文档的标题
<base> 定义了页面链接标签的默认链接地址
<link> 定义了一个文档和外部资源之间的关系
<meta> 定义了HTML文档中的元数据
<script> 定义了客户端的脚本文件
<style> 定义了HTML文档的样式文件
CSS
简介
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。
发展历程
1990年,Tim Berners-Lee和Robert Cailliau共同发明了Web。1994年,Web真正走出实验室。[3]
从HTML被发明开始,样式就以各种形式存在。不同的浏览器结合它们各自的样式语言为用户提供页面效果的控制。最初的HTML只包含很少的显示属性。
随着HTML的成长,为了满足页面设计者的要求,HTML添加了很多显示功能。但是随着这些功能的增加,HTML变的越来越杂乱,而且HTML页面也越来越臃肿。于是CSS便诞生了。
1994年哈坤·利提出了CSS的最初建议。而当时伯特·波斯(Bert Bos)正在设计一个名为Argo的浏览器,于是他们决定一起设计CSS。
其实当时在互联网界已经有过一些统一样式表语言的建议了,但CSS是第一个含有“层叠”丰意的样式表语言。在CSS中,一个文件的样式可以从其他的样式表中继承。读者在有些地方可以使用他自己更喜欢的样式,在其他地方则继承或“层叠”作者的样式。这种层叠的方式使作者和读者都可以灵活地加入自己的设计,混合每个人的爱好。
哈坤于1994年在芝加哥的一次会议上第一次提出了CSS的建议,1995年的www网络会议上CSS又一次被提出,博斯演示了Argo浏览器支持CSS的例子,哈肯也展示了支持CSS的Arena浏览器。
同年,W3C组织(World WideWeb Consortium)成立,CSS的创作成员全部成为了W3C的工作小组并且全力以赴负责研发CSS标准,层叠样式表的开发终于走上正轨。有越来越多的成员参与其中,例如微软公司的托马斯·莱尔顿(Thomas Reaxdon),他的努力最终令Internet Explorer浏览器支持CSS标准。哈坤、波斯和其他一些人是这个项目的主要技术负责人。1996年底,CSS初稿已经完成,同年12月,层叠样式表的第一份正式标准(Cascading style Sheets Level 1)完成,成为w3c的推荐标准。
1997年初,W3C组织负责CSS的工作组开始讨论第一版中没有涉及到的问题。其讨论结果组成了1998年5月出版的CSS规范第二版。
语言特点
CSS为HTML标记语言提供了一种样式描述,定义了其中元素的显示方式。CSS在Web设计领域是一个突破。利用它可以实现修改一个小的样式更新与之相关的所有页面元素。
总体来说,CSS具有以下特点:
丰富的样式定义
CSS提供了丰富的文档样式外观,以及设置文本和背景属性的能力;允许为任何元素创建边框,以及元素边框与其他元素间的距离,以及元素边框与元素内容间的距离;允许随意改变文本的大小写方式、修饰方式以及其他页面效果。
易于使用和修改
CSS可以将样式定义在HTML元素的style属性中,也可以将其定义在HTML文档的header部分,也可以将样式声明在一个专门的CSS文件中,以供HTML页面引用。总之,CSS样式表可以将所有的样式声明统一存放,进行统一管理。
另外,可以将相同样式的元素进行归类,使用同一个样式进行定义,也可以将某个样式应用到所有同名的HTML标签中,也可以将一个CSS样式指定到某个页面元素中。如果要修改样式,我们只需要在样式列表中找到相应的样式声明进行修改。
多页面应用
CSS样式表可以单独存放在一个CSS文件中,这样我们就可以在多个页面中使用同一个CSS样式表。CSS样式表理论上不属于任何页面文件,在任何页面文件中都可以将其引用。这样就可以实现多个页面风格的统一。
层叠
简单的说,层叠就是对一个元素多次设置同一个样式,这将使用最后一次设置的属性值。例如对一个站点中的多个页面使用了同一套CSS样式表,而某些页面中的某些元素想使用其他样式,就可以针对这些样式单独定义一个样式表应用到页面中。这些后来定义的样式将对前面的样式设置进行重写,在浏览器中看到的将是最后面设置的样式效果。
页面压缩
在使用HTML定义页面效果的网站中,往往需要大量或重复的表格和font元素形成各种规格的文字样式,这样做的后果就是会产生大量的HTML标签,从而使页面文件的大小增加。而将样式的声明单独放到CSS样式表中,可以大大的减小页面的体积,这样在加载页面时使用的时间也会大大的减少。另外,CSS样式表的复用更大程度的缩减了页面的体积,减少下载的时间。
语言标准
在CSS
2.1规范中,识别符(包括选择符中的元素名、类、ID)只能包含A~Z、a~z、0~9等字符,加上连字符“-”、下划线“_”。识别符不能以数字开头,以连字符和下划线开头也是不允许的。只有属性、属性值、单位、伪类、伪元素和“@”规则可以由连字符“-”开头。同时,其他元素名称、类和ID标识符也不允许用连字符开头。
CSS的识别符也需要用反斜杠“\”规避特殊字符,这些规避字符遵循IS010646规范。特殊字符的规避方法有两种:第一种方法是遇到特殊字符则在这些字符前直接添加反斜杠,例如,“AT&T”变为“AT\&T”;另一种方法为用反斜杠和Unicode或IS010646等值的十六进制数值一起,规避特殊字符,例如,“AT&T”变为“AT\26T”。
技术应用
网站
在HTML文件里加一个超级链接, 引入外部的 CSS 文档。这个方法最方便管理整个网站的网页风格, 它让网页的文字内容与版面设计分开。只要在一个CSS文档内(扩展名为 CSS) 定义好网页的风格,然后在网页中加一个超级链接连接到该文档,那么网页就会按照在CSS文档内定义好的风格显示出来。
MARKDOWN
简介
Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯(英语:John Gruber)。它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。
由于Markdown的轻量化、易读易写特性,并且对于图片,图表、数学式都有支持,目前许多网站都广泛使用Markdown来撰写帮助文档或是用于论坛上发表消息。 如GitHub、Reddit、Diaspora、Stack Exchange、OpenStreetMap、SourceForge、简书等,甚至还能被使用来撰写电子书。
发展历程
John Gruber在2004年创造了Markdown语言,在语法上有很大一部分是跟亚伦·斯沃茨(Aaron Swartz)共同合作的。这个语言的目的是希望大家使用“易于阅读、易于撰写的纯文字格式,并选择性的转换成有效的XHTML(或是HTML)”。 其中最重要的设计是可读性,也就是说这个语言应该要能直接在字面上的被阅读,而不用被一些格式化指令标记(像是RTF与HTML)。 因此,它是现行电子邮件标记格式的惯例,虽然它也借鉴了很多早期的标记语言,如:Setext、Texile、reStructuredText。
标准化
Markdown已经成为典型的转换为HTML的非正式规范[1]和参考实现。随着时间的推移,出现了许多Markdown实现。人们开发这些主要是由于在基本语法之上需要额外的功能 - 例如表格,脚注,定义列表(技术上的HTML描述列表)和HTML块内的Markdown。其中一些行为偏离了最开始的参考实现。与此同时,非正式规范中的一些含糊不清引起了人们的注意[2]。这些问题促使Markdown解析器的一些开发人员努力实现标准化。
2016年3月发布了RFC 7763和RFC 7764。RFC 7763 从原始变体引入了MIME类型 text/markdown。RFC 7764讨论并注册了MultiMarkdown、GitHub Flavored Markdown (GFM)、Pandoc、CommonMark及Markdown等变体。[3]
CommonMark
从2012年开始,包括Jeff Atwood和John MacFarlane在内的一群人启动了标准化工作。[4]一个社区网站旨在记录可用于文档作者和开发人员的各种工具和资源,以及各种markdown实现的实现者。[5]2014年9月,Gruber反对在这一工作中继续使用“Markdown”这个名字,其被更名为CommonMark。[6]CommonMark发布了规范、参考实现和测试包的几个版本,并计划在2018年宣布最终的1.0规范和测试包。[7]
GFM
2017年,GitHub发布了基于CommonMark的GitHub Flavored Markdown(GFM)的正式规范。[8]除了表格、删除线、自动链接和任务列表被GitHub规范作为扩展添加之外,它遵循CommonMark规范。 [9]GitHub还相应地更改了其站点上使用的解析器,这要求更改某些文档 - 例如,GFM现在要求创建标题的哈希符号由空格字符分隔。
Markdown Extra
Markdown
Extra是一种轻量级标记语言,基于在PHP(最初)、Python和Ruby中实现的Markdown。它添加了普通Markdown语法不具备的功能。内容管理系统支持Markdown
Extra,例如Drupal,TYPO3和MediaWiki。
它为Markdown添加了以下功能:
HTML块内的markdown标记
具有id / class属性的元素
围栏代码块
表格
定义清单
脚注
缩写
用途
世界上最流行的博客平台WordPress和大型CMS如Joomla、Drupal都能很好的支持Markdown。完全采用Markdown编辑器的博客平台有Ghost和Typecho等。
用于编写说文档,以“README.md”的文件名保存在软件的目录下面。
Markdown可以快速转化为演讲PPT、Word产品文档甚至是用非常少量的代码完成最小可用原型
编辑器
Windows
Typora、Simplenote、Laverna、Boostnote、Inkdrop、Cmd Markdown、马克飞象、Yu Writer、看云、有道云笔记、为知笔记、蚂蚁笔记
MacOS
Typora、Typed、Ulysses、Falcon
Linux
Atom、GNU Emacs、Remarkable、Haroopad、ReText、UberWriter、Mark My Words
浏览器插件(Chorme内核)
Markdown Preview、Markdown Here
Android
Draft、JotterPad X、坚果云Markdown
iOS
Byword、simplenote、坚果云Markdown