::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

瀏覽器相容性

另見