HTML5 中的内联级元素中是不是允许块级元素?

Posted

技术标签:

【中文标题】HTML5 中的内联级元素中是不是允许块级元素?【英文标题】:Are block-level elements allowed inside inline-level elements in HTML5?HTML5 中的内联级元素中是否允许块级元素? 【发布时间】:2011-08-29 01:05:40 【问题描述】:

举个例子

<a href="#"><h1>Heading</h1></a>html5 中有效吗?

【问题讨论】:

【参考方案1】:

是的,您所写的内容在 HTML5 中有效,但并非所有内联元素,我认为它只是适用于 <a> ..

参考:“Block-level” links in HTML5

提示:如果使用此设置,请将 <a> 设置为 display: block;,否则可能会出现意外的视觉样式结果:Source: Test Case

更新:

对于“默认样式可能导致混淆”的其他“内联块”组合是“不允许的”-explanation is here:

默认样式可能导致混淆的情况

某些元素具有默认样式 或使某些行为 可能导致的组合 困惑。凡这些有等价的 没有这个问题的替代品, 不允许混淆组合。

例如渲染div元素 作为块框,跨度元素为 内联框。放入方块盒 内联框是不必要的 令人困惑;因为要么嵌套只是 div 元素,或者嵌套只是 span 元素,或嵌套跨度元素 里面的 div 元素都服务相同 目的是 嵌套一个 div 元素 一个 span 元素,但只有后者 涉及内联框中的块框, 后一种组合是不允许的。

【讨论】:

以上是关于HTML5 中的内联级元素中是不是允许块级元素?的主要内容,如果未能解决你的问题,请参考以下文章

CSS 中的内联元素块级元素以及display的各个属性的特点

CSS--基础块级元素与内联元素

带你认清块级元素内联元素行内块级元素

关于CSS的内联和块元素

详解HTML块级元素内联元素和内联块元素

HTML - 一篇文章带你认清块级元素内联元素行内块级元素