内联元素中的块级元素

16

W3C验证器告诉我不能在内联元素里面放块级元素,这很合理...

但如果我使用CSS将该块级元素转换为内联元素呢?

如果我在另一个内联元素中使用CSS将内联元素转换为块级元素呢?

验证器显然没有检测到这一点,但这样做是否有问题?

(我实际上并没有这样做,我只是在思考最佳实践)

2个回答

13
一个在HTML规范中定义为块级元素的元素与在CSS中定义为display: block;的元素并不相同。
我的意思是:即使你说<p style="display: inline;">Lorem...</p>。在HTML中,<p>仍然是一个块级元素。
据说,如果正确使用HTML、CSS和JavaScript,则它们之间具有松耦合关系,而且一个不应该依赖于另一个,缺少其中一个不应该导致其他元素(或整个系统)失败。

这一代人,他们变得越来越相互依赖。 - Jovylle
@JovylleBermudez 怎么样?以什么方式?你有例子吗? - Sebastian Nielsen
几个月后,我不确定我为什么会这样说,答案是否改变了? 但有一件事是肯定的,块元素会导致内部的行内元素换行。 - Jovylle

5

内联元素不应包含块级元素。块级元素可以包含块级和/或内联元素,而内联元素只能包含其他内联(包括inline-block,如<img>)元素。

当然,您可以这样做,因为在各个浏览器中的图形表示将非常一致。但我仍然不建议这样做,也想不出任何理由去这么做。


2
一个 <a>(内联元素)经常包含一个 <div>(块级元素)。 - Sebastian Nielsen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接