TGViewer
Senior Frontend - javascript, html, css Senior Frontend - javascript, html, css @seniorfront · 23.8K subscribers
Post #5842 1.23K
✨ Одна и та же CSS-переменная может дать 1, а может 2

Кастомные свойства вроде --index по умолчанию хранятся как кусок текста. Вычисляется он там, где переменную подставили через var(), а не там, где объявили.

Пример Джейка Арчибальда. У второго div задано --index: sibling-index() (номер элемента среди соседей, с единицы). Его первый ребёнок, абзац, получает scale: var(--index). Масштаб будет 1: функция считается уже для абзаца.

Теперь зарегистрируем свойство с типом:
@property --index {    syntax: &apos;<number>&apos;;    inherits: true;    initial-value: 0;}

Значение вычислится прямо на div и станет числом 2, абзац увеличится вдвое. С em, lh и единицами контейнерных запросов то же правило.

Но var() внутри значения подставляется сразу при любом типе. Если в --index есть var(--multiplier), переопределять --multiplier у ребёнка бесполезно.

А что при этом происходит с URL из разных таблиц стилей, разобрано в статье.

👉 @seniorFront
More from @seniorfront
  1. Oct 10, 2026Post #5854
  2. Oct 9, 2026🔍 Почему overflow: hidden не удерживает размытие Свойство backdrop-filter: blur() размыва…
  3. Oct 8, 2026🔑 Обработчик postMessage без проверок слушается кого угодно Виджет в iframe (комментарии,…
  4. Oct 7, 2026📐 Как заменить CSS progress(), пока его поддерживают не везде Функция progress() показыва…
  5. Oct 6, 2026📜 Страница скроллится, а window.scrollY показывает 0 У каждой страницы есть главный конте…
  6. Oct 2, 2026🎉 iframe, который сам подстраивается под содержимое Обычно у <iframe> фиксированный разме…
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 →