Псевдоэлемент CSS `::details-content`
Базовая поддержка Недавно стал доступен
Эта функция работает в последних версиях устройств и браузеров. Она может не работать на старых устройствах или в старых версиях браузеров. Она доступна во всех браузерах с сентября 2025 года.
::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>
Синтаксис
selector::details-content
Примеры
Базовый пример
В этом примере показано базовое использование псевдоэлемента ::details-content для стилизации содержимого элемента <details>.
HTML
Наш элемент <details> содержит элемент <summary>, содержимое которого всегда будет видно. Содержимое details включает элемент <p>.
<details> <summary>Click me</summary> <p>Here is some content</p> </details>
CSS
Мы задаём background-color для псевдоэлемента ::details-content:
details::details-content {
background-color: #a29bfe;
}
Результат
Нажмите на сводку, чтобы просмотреть подробное содержимое.
Пример с переходом
В этом примере псевдоэлемент ::details-content используется для задания перехода для содержимого элемента <details>, чтобы оно плавно появлялось при раскрытии и плавно исчезало при сворачивании.
HTML
HTML-код такой же, как в предыдущем примере.
<details> <summary>Click me</summary> <p>Here is some content</p> </details>
CSS
Чтобы создать переход, мы указываем два отдельных перехода в сокращённом свойстве transition:
- Для свойства
opacityзадаётся обычный переход длительностью600ms, создающий эффект плавного появления и исчезновения. - Для свойства
content-visibility(которое переключается междуhiddenиvisibleпри раскрытии и сворачивании содержимого<details>) задаётся переход600msсо значениемtransition-behaviorallow-discrete. Это позволяет браузеру запускать переход дляcontent-visibility, поведение анимации которого является дискретным. В результате содержимое остаётся видимым на протяжении всего перехода, благодаря чему видны другие переходы. Если бы этот переход не был включён, содержимое сразу исчезало бы при сворачивании содержимого<details>— плавного исчезновения не было бы видно.
details::details-content {
opacity: 0;
transition:
opacity 600ms,
content-visibility 600ms allow-discrete;
}
details[open]::details-content {
opacity: 1;
}
Результат
Чтобы увидеть анимацию, переключайте видимость подробного содержимого, нажимая на сводку.
Спецификации
Совместимость с браузерами
| Компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari на iOS | Samsung Internet | WebView для Android | WebView на iOS | |
details-content |
131 |
131 |
143 |
116 |
131 |
143 |
87 |
29.0 |
131 |
|||
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Selectors/::details-content