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

br3*_*3w5 8 html css xhtml html5

在HTML中,块级元素是否应始终包装<a>标签?如果标记包含块级元素以确保应用正确的样式,该怎么办?例如可以这样

<h3><a href="/">Your Header</a></h3>
Run Code Online (Sandbox Code Playgroud)

是的

<a href="/"><h3>Your Header</h3></a>
Run Code Online (Sandbox Code Playgroud)

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

是的,我已经阅读过这个问题在HTML中,a和h1应该嵌套?但我不确定是否有不同或更灵活的规则适用于<h3>标签.

接下来的评论并再次查看代码,我有两个可能的解决方案:

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

HTML

<div class="class">
    <h3><a href="/">Your Header</a></h3>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.class, .class a {
    width:296px;
    height:46px;
    overflow:hidden;
    color:#FE5815;
}
Run Code Online (Sandbox Code Playgroud)

lon*_*day 9

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

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

这是HTML5规范中指定此内容的页面.不幸的是,需要一点解释才能理解......

  • http://dev.w3.org/html5/markup/a.html#transparent_xref2 ...我今天学到了一些东西! (3认同)