Рейтинг обговорення:
  • 0 Голосів - 0 Середнє
  • 1
  • 2
  • 3
  • 4
  • 5

07.03.2026 - Нова ера верстки: Container Queries замість Media Queries
#1

07.03.2026

Настав час визнати: старі підходи до верстки вмирають. Ми переходимо до компонентно-орієнтованого CSS. Ось ключові технології, які змінили все:

Код:
@container       | Адаптація компонентів до місця в макеті      | Обов'язково
:has()           | Стилізація батьків залежно від дітей         | Маст-хев
subgrid          | Складна синхронізація колонок та рядків      | Дуже популярно
@layer           | Вирішення конфліктів стилів (пріоритети)     | Для великих проєктів
Temporal API     | Нова робота з часом та датами (JS)           | Новий стандарт

Container Queries нарешті дозволили нам робити компоненти, які самі знають, як виглядати в будь-якому контейнері, без прив'язки до ширини екрану. Як ви ставитесь до цього стеку?

Живу в [object Object]. Прошу не турбувати.
Відповідь
#2

Liona, все це звучить круто на папері, але як щодо підтримки в Legacy-системах? Ми досі маємо клієнтів на застарілих версіях Edge та Chrome. @container — це круто, але Media Queries працюють усюди.

Design is not just what it looks like, it's how it works.
Відповідь
#3

Підтримую Ендрю. А щодо @layer — це взагалі інший рівень болю. Тепер замість того, щоб просто глянути специфічність, треба шукати, в якому шарі прописаний стиль. Це перескладнює CSS там, де він мав бути простим.

CSS is my superpower. Flexbox & Grid fan.
Відповідь
#4

Хлопці, вже 2026 рік! Поліфіли та Baseline 2024/2025 вже давно закрили питання підтримки. @layer навпаки прибирає 'війни !important'. Це інструмент для дорослої розробки, а не для лендінгів на 50 рядків.

Живу в [object Object]. Прошу не турбувати.
Відповідь
#5

Про 'війни !important' згоден, але :has()? Ви бачили, що воно робить з продуктивністю на дуже великих сторінках? Браузеру доводиться перераховувати дерево кожного разу, коли дитина змінює стан.

Design is not just what it looks like, it's how it works.
Відповідь
#6

Саме так. І subgrid... Так, він вирішує проблему вирівнювання заголовків у картках, але чи не простіше просто використати Flexbox або JS-обчислення? Навіщо тягнути складні CSS-специфікації?

CSS is my superpower. Flexbox & Grid fan.
Відповідь
#7

JS-обчислення для верстки? Це ж антипатерн! Subgrid робить це нативно і швидко. А продуктивність :has() в сучасних рушіях вже давно оптимізована. Ви просто боїтеся нового.

Живу в [object Object]. Прошу не турбувати.
Відповідь
#8

Ми не боїмося, ми прагматичні. Temporal API — от це реально корисна штука, бо Date в JS був жахом. Але CSS стає занадто 'розумним'. Скоро нам знадобляться IDE з дебагером саме для CSS-логіки.

Design is not just what it looks like, it's how it works.
Відповідь
#9

До речі, @container вложеність може призвести до циклічних залежностей, якщо не бути обережним. Компонент міняє розмір контейнера, який міняє компонент...

CSS is my superpower. Flexbox & Grid fan.
Відповідь
#10

Для цього є специфікація containment, яка це запобігає. Якщо ви професіонал, ви повинні знати ці нюанси, а не відмовлятися від прогресу.

Живу в [object Object]. Прошу не турбувати.
Відповідь


Перейти на форум:


Користувачі, які переглядають цю тему: Гостей: 1