::details-content

基准线 2025
新推出

自 ⁨2025 年 9 月⁩起,此功能适用于最新设备和浏览器版本。此功能可能不适用于较旧的设备或浏览器。

::details-content CSS 伪元素表示 <details> 元素的可展开/可折叠内容。

试一试

details[open]::details-content {
  color: dodgerblue;
  padding: 0.5em;
  border: thin solid grey;
}
<details open>
  <summary>Example summary</summary>
  <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.</p>
  <p>
    Architecto cupiditate ea optio modi quas sequi, esse libero asperiores
    debitis eveniet commodi hic ad.
  </p>
</details>

语法

css
selector::details-content

示例

基本示例

在此示例中,::details-content 伪元素用于设置 <details> 元素内容的 background-color

HTML

html
<details>
  <summary>Click me</summary>
  <p>Here is some content</p>
</details>

CSS

css
details::details-content {
  background-color: #a29bfe;
}

结果

过渡示例

在此示例中,::details-content 伪元素用于设置 <details> 元素内容的 transition,使其在展开时平滑淡入视野,折叠时再次淡出。为了实现这一点,在 transition 简写属性中指定了两个独立的过渡

  • opacity 属性在 600ms 内进行基本过渡,以创建淡入/淡出效果。
  • content-visibility 属性(当 <details> 内容展开/折叠时,它在 hiddenvisible 之间切换)也进行了基本 600ms 的过渡,但指定了 transition-behaviorallow-discrete。这使得浏览器选择在 content-visibility 上启动过渡,其动画行为是离散的。效果是内容在整个过渡期间都是可见的,允许看到其他过渡。如果未包含此过渡,则当 <details> 内容折叠时,内容将立即消失——您将看不到平滑的淡出效果。

HTML

html
<details>
  <summary>Click me</summary>
  <p>Here is some content</p>
</details>

CSS

css
details::details-content {
  opacity: 0;
  transition:
    opacity 600ms,
    content-visibility 600ms allow-discrete;
}

details[open]::details-content {
  opacity: 1;
}

结果

规范

规范
CSS 伪元素模块 Level 4
# details-content-pseudo

浏览器兼容性

另见