嵌套错误可能引起的问题
上面讲了HTML5对元素新的分类方式和以<h1>~<h6>、<div>、<a>元素举例讲述了各自的嵌套规则,但FACEBOOK即使不按照标准去嵌套也不会有大的错误问题,这就给我们带来了一个思考:嵌套错误到底会不会有问题?
例子(1):开始与结束标签嵌套错误
<div><h2>内容</div></h2>
测试结果:
例子(2):<p>元素嵌套<div>元素
<p><div>内容</div></p>
测试结果:
例子(3):列表元素<li>兄弟元素为<div>
<ul><li>内容</li><div>内容</div></ul>
测试结果:
例子(4):<h2>元素嵌套<div>元素
<h2><div>内容</div></h2>
测试结果:
例子(5):<a>元素嵌套<a>元素
<a href=""><a href="">内容</a></a>
测试结果:
通过上述例子,我们总结如下:
其实,这里说解析错误并不是很合理,应该是说
我们知道JS代码如果写的有语法错误,
严格嵌套约束、语义嵌套约束
通过上面的示例我们发现在<p>元素里嵌套<div>元素或者<a>元素里<a>元素会导致所有的
严格嵌套约束规则:
语义嵌套约束:
每个元素基本都有自己的嵌套规则(即父元素可以是什么,子元素可以是什么),除了严格嵌套约束之外的一些规则就是语义嵌套约束,对于语义嵌套约束,如果不遵守,页面可能正常,但也可能解析错误,这和下面要讲的容错机制有关。
并不是每位同学在写完页面后去做合法性检查,因此
这其实在告诉我们,我们写出来的HTML代码不符合W3C规范可能最终呈现出来没有异样,但那其实是
拥抱WEB标准
原本我们认为从HTML4到XHTML是一个时代,现在又从XHTML跨到了HTML5,新时代新标准的诞生,我们应该敞开胸怀去拥抱,而不是排斥。
你关注或不关注,标准就在那里,只增不减。我们应该感谢W3C这样一个组织,让各个
WEB标准只会使我们吃饭变得更香,睡眠变得更好,新的技术或标准会推动我们去富有热情的coding,而不是每天在重复劳动。