HTML5规范的创新很多,大多数浏览器已经支持了其中的许多创新-下面,我想强调一下嵌套元素规则的有趣变化。 HTML始终将block和inline元素区分开。 HTML4的文档类型定义,例如,名称h1,p和div为块元素,而a,span,img为内联元素。
现在已经放弃了这个概念(有充分的理由)。 在某些用例中,许多Web设计人员都忽略了上述嵌套规则的正确性,即嵌套元素内不得放置任何块元素,或者使用CSS规则(例如display:inline; 或显示:块; (通常会导致无效代码),事不宜迟。
HTML5现在正在简化这种区分,甚至命名一个元素可以属于的9个不同类别,从而一个元素可以处于多个类别。 块元素和内联元素之间的旧区别被抛在了后面,并考虑了Web上标签的多种含义。 特别地,这导致以下结构代表有效的代码:
<a href="#">
<div>
<h1>Yeah</h1>
<p>
Der ganze Block ist verlinkt.
</p>
</div>
</a>
以前只能使用技巧(例如,通过绝对定位链接的叠加层)(包含有效代码)来创建包含其他块元素的整个容器。 或者,您将标题和段落链接在一起-这又导致冗余,并且容器不可单击。 随着HTML5的受欢迎添加,这不再是问题。