Начните с ID
Затем сравните классы и атрибуты, после них — элементы. Даже много классов не обгонят один ID; равные значения сохраняют порядок ввода.
Инструменты для CSS-селекторов
Введите по одному селектору на строку. Внешние запятые разбивают список на варианты; проверка HTML по умолчанию выключена.
Один селектор на строку; внешние запятые разделяют варианты.
Введите селектор.
Селекторы и необязательный HTML остаются в браузере; внешние ресурсы не загружаются.
Ввод изменился; прежний результат устарел.
Когда стиль не применяется, Калькулятор специфичности CSS помогает увидеть отдельные колонки ID, классов и элементов до правки файла. Специфичность CSS-селекторов сравнивают слева направо, а не складывают в десятичное число.
Вес селекторов CSS и совпадение с HTML — разные результаты. Сравнение CSS-селекторов на этой странице не выдаётся за окончательный вердикт каскада.
:is(#dialog, .panel) берёт самый сильный аргумент, а :where(#dialog, .panel) всегда даёт ноль. Калькулятор специфичности CSS показывает вклад частей, включая неожиданно сильный ID.
#missing может иметь высокий вес и не найти узлов в HTML-фрагменте; .card может найти узел при меньшем весе. Два факта видны рядом без заявления о победителе каскада.
Затем сравните классы и атрибуты, после них — элементы. Даже много классов не обгонят один ID; равные значения сохраняют порядок ввода.
Подставьте один и тот же список аргументов. У :nth-child(... of S) к аргументу добавляется вес самой псевдокласса.
Статичный фрагмент показывает число совпадений, но не моделирует hover, focus, псевдоэлементы и полную каскадную таблицу.
Для каждого варианта отдельно показаны ID, классы/атрибуты/псевдоклассы и элементы/псевдоэлементы с вкладом каждого фрагмента.
Внешние запятые создают отдельные варианты. Сортировка по убыванию сохраняет исходный порядок при равенстве.
Необязательный фрагмент обрабатывается как инертное дерево: скрипты не запускаются, изображения и стили не загружаются.
Они получают специфичность самого сильного аргумента. Само имя функции не добавляет отдельный балл.
И :where(), и универсальный * добавляют ноль, хотя могут совпадать с элементами.
Нет. Inline-стиль и !important относятся к другим шагам каскада; эта страница считает только селекторы.
Можно ввести несколько строк или ветвей через запятую. Каждый вариант получает отдельную тройку A-B-C.
ID записываются в первую колонку, классы, атрибуты и псевдоклассы — во вторую, типы и псевдоэлементы — в третью.
Нашли ошибку в весе селектора?
Сравните селекторы, затем при необходимости проверьте совпадение с HTML. Калькулятор специфичности CSS разделяет эти результаты.