有没有任何风格的HTML元素?

时间:2012-05-22 14:55:30

标签: html

<div>有一个块显示模型。

<span>具有内联显示模型。

是否有任何元素没有任何演示目的,其唯一目标是将其他元素分组?

5 个答案:

答案 0 :(得分:10)

没有。每个元素都必须具有display属性的值。 CSS不允许空值的可能性。

<div><span>是通用分组元素,并且有许多非通用分组元素。您只需为上下文选择正确的一个(这取决于所涉及的标记和语义,而不是display的默认值)。

答案 1 :(得分:5)

嗯 - 至少在CSS3中你可以更好地控制它,例如在你的div

style="all:unset;"

这可以用作与重置样式表相同的效果。

答案 2 :(得分:3)

divspan没有语义含义;它们完全是为了分组元素。

答案 3 :(得分:2)

不,没有用于分组任何视觉元素的元素。

您可以使用<thead><tfoot><tbody>元素对表格中的<tr>元素进行分组。

答案 4 :(得分:0)

同时使用<div><span>元素以及诸如<article><aside><footer><header>,{{ 1}},<main><nav>等实现分组的目的,它们都具有默认的用户代理样式。

尽管可以根据需要覆盖这些样式,但是DOM树本身中元素的嵌套可能会产生不良影响。例如,当在父元素上使用<section>时,其直接子元素(display: flex;)的呈现受此影响。

新的CSS >属性值旨在解决此问题:

display:contents使元素的子元素看起来像是元素父元素的直接子元素,而忽略元素本身。当使用CSS网格或类似布局技术时应忽略包装元素时,这很有用。

但是,到2020年底,浏览器的支持并不如人们希望的那样:

https://caniuse.com/css-display-contents

有关实现的工作方式的更多详细信息,可以在规范中找到:

https://drafts.csswg.org/css-display/#valdef-display-contents