【问题标题】:Block Level Elements inside Inline elements [duplicate]内联元素内的块级元素[重复]
【发布时间】:2010-12-15 09:47:05
【问题描述】:

W3C 验证器告诉我不能将块级元素放入内联元素中。有道理……

但是如果我使用 CSS 将块级元素更改为内联元素呢?

如果我使用 CSS 将内联元素转换为块级元素(在另一个内联元素中时)怎么办?

Validator 显然没有意识到这一点,但这是错的吗?

(我实际上并没有这样做,我只是想知道最佳实践)

【问题讨论】:

    标签: html css xhtml standards


    【解决方案1】:

    在 HTML 规范中定义为块元素的元素与在 CSS 中定义为 display: block; 的元素不同。

    我的意思是:即使你说<p style="display: inline;">Lorem...</p><p> 在 HTML 眼中仍然是块元素。

    如果使用得当,HTML、CSS 和 JavaScript 据说彼此具有loose coupling,并且其中一个不应依赖于另一个,并且缺少一个不应导致其他(或整个系统)失败。

    【讨论】:

    • 这一代,他们变得相互依赖。
    • @JovylleBermudez 怎么样?以什么方式?你有例子吗?
    • 几个月后,我不确定我为什么这么说,答案是否改变了?但有一点是肯定的,块元素会导致它所在的内联元素换行。
    【解决方案2】:

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

    当然,无论如何您都可以这样做,因为图形表示在浏览器中会非常一致。不过,我仍然不建议这样做,也想不出这样做的理由。

    【讨论】:

    • 一个<a>(内联元素)经常看到包含一个<div>(块元素)。
    猜你喜欢
    • 2021-01-23
    • 2016-04-21
    • 1970-01-01
    • 2013-08-04
    • 2011-08-29
    • 1970-01-01
    • 2010-10-17
    相关资源
    最近更新 更多