html5有两个组织联合制定,后来由于对html5规范的发展产生分歧而分开制定,一个是WHATWG主张不定死规范,可随时添加、修改新特性,另一个就是W3C主张规范定版,就是说主张敲定这次的是html5,如果有修改、增加,等成熟后在发布的规范就不是html5,而是html6、7、8或其他名称。
什么要遵守W3C标准,我也思考过这个,以下是我个人的见解。
一句话:所谓的标准就是为了弥补主观上的不足。
这是别处来,忘记那儿了,非常有道理,非常有嚼劲,知道出处的告知一声。
我深入思考了一下:
W3C 标准是为了弥补主观上的不足,弥补的是新手对 SEO 的理解,即使不了解 SEO,只需要去遵循 W3C 标准即可确保获得良好的 SEO,这是因为 SEO 的编写者同样遵循这一种约定。
如果不遵循约定的话,比如用 DIV 写一切的家伙,SEO 的编写者要怎样才能知道你写的是什么,他不可能搜索全部 DIV 的,太费资源和时间了,所以咱们就约定一下将那些很重要的信息比如关键词是:HTML5、CSS3、Node 的这些都写到一个标签里面好不好?这样省资源省时间呢,大家觉得都 OK 于是我们就专门弄了一个表述这些信息的标签,叫 meta(元信息标签),然后在根据不同的类型来区分一下这些重要信息,比如用 name="keywords" 来标识关键词:
<meta name="keywords" content="HTML5,CSS3,Node">用 name="author" 来标识作者:
<meta name="author" content="zqh">这样 SEO 就知道那些内容是作者,那些内容是关键词了~
SEO 是英文 Search Engine Optimization 的缩写,中文译为"搜索引擎优化"。
当然了,因为是标准,所以你不遵守也是可以的,但这样搜索引擎可能不会抓取非标准的页面,如果你写过爬虫的话就会明白抓取那些不遵循标准来的家伙(DIV 乱用)是多么麻烦,直接忽略掉这些网站是最好的选择。
h5是html的最新版本,是14年由w3c完成标准制定。增强了,浏览器的原生功能,减少浏览器插件(eg:flash)的应用,提高用户体验满意度,让开发更加方便。
- h5新增的标签
新增元素
说明
video 表示一段视频并提供播放的用户界面
audio 表示音频
canvas 表示位图区域
source 为video和audio提供数据源
track 为video和audio指定字母
svg 定义矢量图
code 代码段
figure 和文档有关的图例
figcaption 图例的说明
main
time 日期和时间值
mark 高亮的引用文字
datalist 提供给其他控件的预定义选项
keygen 秘钥对生成器控件
output 计算值
progress 进度条
menu 菜单
embed 嵌入的外部资源
menuitem 用户可点击的菜单项
menu 菜单
template
section
nav
aside
article
footer
header
- css3
css3被划分为模块,最重要的几个模块包括:选择器、框模型、背景和边框、文本效果、2D/3D 转换、动画、多列布局、用户界面
选择器
框模型
背景和边框
border-radius、box-shadow、border-image、
background-size:规定背景图片的尺寸
background-origin:规定背景图片的定位区域
background-clip:规定背景的绘制区域
文本效果(常用)
text-shadow:设置文字阴影
word-wrap:强制换行
word-break
css3提出@font-face规则,规则中定义了font-family、font-weight、font-style、font-stretch、src、unicode-range
2/3D转换
transform:向元素应用2/3D转换
transition:过渡
动画
@keyframes规则:
animation、animation-name、animation-duration等
用户界面(常用)
box-sizing、resize
css3新增伪类
:nth-child()
:nth-last-child()
:only-child
:last-child
:nth-of-type()
:only-of-type()
:empty
:target 这个伪类允许我们选择基于URL的元素,如果这个元素有一个识别器(比如跟着一个#),那么:target会对使用这个ID识别器的元素增加样式。
:enabled
:disabled
:checked
:not