TGViewer
Senior Frontend - javascript, html, css Senior Frontend - javascript, html, css @seniorfront · 23.9K subscribers
Post #5814 4.04K
🪄 Как убрать лишний div, не трогая HTML

В CSS сетка или флексбокс действуют только на прямых детей контейнера. Если между ними затесалась обёртка, её содержимое живёт в своём мирке и в общую раскладку не попадает.

Свойство display: contents решает это так: сам элемент как коробка исчезает (фон, рамка, отступы пропадают), а его дети становятся детьми родителя. Похоже на «разгруппировать» в графическом редакторе.

Пример из статьи. В <figure> лежит div с тремя картинками и рядом <figcaption>. Подпись никак не встроить в сетку фотографий, потому что она снаружи div. Пишем

.photo-group {
display: contents;
}


и теперь браузер видит три картинки и подпись как четырёх равноправных детей <figure>, а сетку задаём прямо на нём.

Важная оговорка: с таблицами, заголовками, кнопками и списками это ломает доступность, автор советует там не применять и проверять результат.

В статье ещё семь живых раскладок, где приём спасает.
  • ❤ 9
  • 🔥 1
More from @seniorfront
  1. Sep 20, 2026Post #5824
  2. Sep 15, 2026🔴 Тестовый собес на Frontend-разработчика со старшим разработчиком ex. Сбер в этот четвер…
  3. May 28, 2026Нативный CSS-скоупинг: как изолировать стили без сборщиков Если вы работали с Vue или Svel…
  4. May 11, 2026Валидация на чистом CSS: считаем поля через :nth-child(n of selector) Раньше для проверки…
  5. Apr 16, 2026SVG-фильтры: от «магии» к пониманию Если CSS-фильтры - это готовые инста-фильтры, то SVG-ф…
  6. Apr 2, 2026📄 Эффект загнутого угла на чистом CSS Интересный разбор от Kitty Giraudel. Традиционно «з…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →