<div>
有一个块显示模型。
<span>
具有内联显示模型。
是否有任何元素没有任何演示目的,其唯一目标是将其他元素分组?
答案 0 :(得分:10)
没有。每个元素都必须具有display
属性的值。 CSS不允许空值的可能性。
<div>
和<span>
是通用分组元素,并且有许多非通用分组元素。您只需为上下文选择正确的一个(这取决于所涉及的标记和语义,而不是display
的默认值)。
答案 1 :(得分:5)
嗯 - 至少在CSS3中你可以更好地控制它,例如在你的div
style="all:unset;"
这可以用作与重置样式表相同的效果。
答案 2 :(得分:3)
div
和span
没有语义含义;它们完全是为了分组元素。
答案 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