我使用以下样式表通过了W3C验证:
a {
display: block;
}
我想确认一下,使用行内元素作为块级元素的标记是否有效?我知道这样做可以实现效果,但它是否有效呢?
谢谢
是的,这是完全有效的。而且也很有用。
需要注意的一点是(因为上面的回答非常简短),将通常的内联元素样式化为块级元素的方法非常常见。例如,在从列表创建水平导航菜单时,您经常会看到使用<a>
元素并将其样式设置为display:block
,以使链接能够占用父列表项的全部宽度和高度。
是的,这是有效的,但你也可以使用inline-block
来使用内联元素并保持块级属性。
是的,这是有效的。
正如你所知道的,有些元素默认情况下是内联或块级的。但在CSS中覆盖这一点是完全有效的。
是的,它是有效的。然而,如果您真的不想这样做,您可以将a
包装在div
中。尽管如此,这是毫无意义的,因为它完全有效;这就是为什么display
属性存在的原因。
样式表是有效的,因为它符合CSS规范。这只是一件纯粹形式的事情。在CSS中,选择器a
没有特殊含义,它只是一个标识符;CSS对于HTML中a
元素的含义(比如它是内联元素)并不了解,实际上样式表可以用于样式化XML文档,其中a
有完全不同的含义。
另一方面,HTML的有效性与CSS无关。这是有关标记的形式问题,而样式表并不是标记。
它是否在其他非正式意义上“有效”(比如“良好的实践”、“有用的”或“符合样式指南”)是一个不同的问题,是一个争议问题,而不是技术问题。不管怎样,在a
元素上设置display:block
通常是常见用法,以使其可以像块元素一样设置尺寸(例如,使链接填充表格单元格)。
display:inline
)也不能让你把<div>
放在<p>
里面。 - Niet the Dark Absol