在HTML中,块级元素是否总是包装标签?

HTML中,应该阻止级别元素始终包装< a>标签?如果标记包含块级元素以确保应用正确的样式,该怎么办?例如可以这样
<h3><a href="/">Your Header</a></h3>

是的

<a href="/"><h3>Your Header</h3></a>

注意:我正在采用后一种方法来确保应用正确的样式(我正在处理遗留代码,这对于这一个元素不值得重新工作),但在这样做的时候我很想知道是什么社区的观点是.

是的,我已经阅读了这个问题In HTML which way round should a and h1 be nested?,但我不确定是否有一个不同或更灵活的规则适用于< h3>标签.

考虑下面的评论并再次查看代码,我有两种可能的解决方案:

>包裹< h3>具有< a>的元素元素(在HTML5中确定)
>将.class a添加到CSS,以便它继承父div样式,如下所示:

HTML

<div class="class">
    <h3><a href="/">Your Header</a></h3>
</div>

CSS

.class,.class a {
    width:296px;
    height:46px;
    overflow:hidden;
    color:#FE5815;
}

解决方法

在这种情况下,绝对允许a元素包含h3元素,至少根据HTML5.

元素称为“透明”元素:它可以包含其父元素可能包含的任何元素.唯一的标准是它可能不包含任何其他“交互式”内容,例如其他元素,按钮元素,iframe元素.在这种情况下,假设允许第一个版本,HTML5下也允许使用第二个版本.

This is the page in the HTML5 spec指定了这一点.不幸的是,需要一点解释才能理解……

相关文章

操作步骤 1、进入elasticsearch的plugin,进入ik。进入config。 2、在config下面建立以.dic为后缀的字典...
lengend data数据中若存在&#39;&#39;,则表示换行,用&#39;&#39;切割。
代码实现 option = { backgroundColor: &amp;#39;#080b30&amp;#39;, tooltip: { trigger: &...
问题原因 原因在于直接在js中取的变量并复制给var变量。 于是就变成这样。 解决办法 var data = &#...
前言 最近做了一个调查问卷导出的功能,需求是将维护的题目,答案,导出成word,参考了几种方案之后,选...
对于很多人来说,用字符编码都是熟能生巧,而不清楚为什么是那样的字符编码,所以我在这列了一个表,翻...