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

Maë*_*son 9 html

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

<span>有一个内联显示模型.

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

Que*_*tin 12

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

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


con*_*uxe 10

虽然<div>和<span>元素以及较新的语义元素(例如<article>、<aside>、<footer>、<header>、<main>、<nav>等<section>)可以实现分组的目的,但它们都带有默认的用户代理样式。

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

新的CSSdisplay: contents;属性值旨在解决这个问题:

display:contents 导致元素的子元素显示为元素父元素的直接子元素,而忽略元素本身。当使用 CSS 网格或类似布局技术时应忽略包装元素时,这可能很有用。

然而,到 2020 年底,浏览器支持并不像人们希望的那样好:

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

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

https://drafts.c​​sswg.org/css-display/#valdef-display-contents

  • “显示:内容”支持现在非常好(2022 年);但它仍然存在可访问性问题 (2认同)

kba*_*kba 5

div并且span没有语义意义;它们正是为了对元素进行分组而设计的。


seb*_*sse 5

好吧 - 至少使用CSS3你可以更好地控制它,例如你的div

style="all:unset;"
Run Code Online (Sandbox Code Playgroud)

这可用于与重置样式表相同的效果.