Из документов stylelint :
«Исходный порядок важен в CSS, и когда два селектора имеют одинаковую специфичность, тот, который появляется последним, будет иметь приоритет. Однако ситуация отличается, когда один из селекторов имеет более высокую специфичность. В этом случае исходный порядок не имеет значения. вопрос: селектор с более высокой специфичностью выиграет, даже если он придет первым.
Столкновение этих двух механизмов приоритизации, исходного порядка и специфичности может вызвать некоторую путаницу при чтении таблиц стилей. Если селектор с более высокой специфичностью предшествует селектору, который он переопределяет, нам нужно больше думать, чтобы понять его, потому что он нарушает ожидания исходного порядка. "
Stylelint (который можно запустить с помощью npm install && npm run lint:fix
) может обнаружить их, если настроено следующее:
"no-descending-specificity": true,
Примечание: в настоящее время есть много нарушителей этого правила, поэтому, возможно, стоит подождать, пока master.less станет более управляемым (#1092), прежде чем пытаться это сделать.
npm run lint:fix
Лучше раньше, чем позже... будем работать над этим, если никто другой этого не сделает.
Это также будет немного сложно. Нарушителей много :-S
Привет @jdlrobson! Я хотел бы помочь с этим, если вам это все еще нужно.
Мы делаем! Дерзайте @thefiftthisa !
@jdlrobson Отлично, спасибо! Могу я узнать, какие из них вы уже сделали, чтобы я знал, с чего начать?
@thefiftthisa Я бы порекомендовал начать с добавления правила в существующий файл конфигурации stylelint и убедиться, что вы можете видеть ошибки локально при запуске
npm install
npm run lint:fix
Я вижу много ошибок, когда добавляю это правило.
Давайте сделаем первый запрос на извлечение небольшим и достаточно безопасным от конфликтов слияния! Как правило, я бы рекомендовал отключать правило в верхней части больших файлов, содержащих более 6 ошибок [1]. (например, static/css/components/header-bar.less и static/css/legacy.less) и сосредоточиться на файлах, с которыми меньше проблем.
Цель этого линтинга состоит в том, чтобы постепенно урезать CSS и улучшать его, поэтому не берите слишком много за раз — сосредоточьтесь на файлах с 1-6 проблемами! В противном случае вам будет сложнее писать, а другим — комментировать.
Имеет ли это смысл?
Дайте мне знать, если нужны дополнительные рекомендации!
[1] Добавление следующей строки в начало файла остановит применение правила!
/* stylelint-disable no-descending-specificity */
@jdlrobson Понял, только что отправил PR!
я просто хочу футболку
это можно закрыть... благодаря @thefifthisa в кодовой базе отсутствует специфичность по убыванию :)
Самый полезный комментарий
я просто хочу футболку