Есть ли правило NOOP, которое можно использовать в файле CSS? - PullRequest
4 голосов
/ 18 ноября 2011

Я работаю над некоторым рефакторингом устаревшего кода, чтобы переместить стили в файл таблицы стилей из HTML. Наш процесс сборки запускает CSS-файлы таблицы стилей через минификатор YUI compresser. Что по своей эффективности убирает пустые .selector { } стили, см. - YuiDoc's Секция пустых объявлений .

Проблема возникает, когда в некоторых местах код находит и изменяет правила таблицы стилей, но не может найти правила, которые были уменьшены / удалены. Есть ли правило noop, которое не будет влиять на какой-либо рендеринг, но сохранит фактически пустое правило в таблице стилей?

1 Ответ

4 голосов
/ 18 ноября 2011

Согласно W3C CSS2 Спецификация

В CSS идентификаторы могут начинаться с «-» (тире) или «_» (подчеркивание).Ключевые слова и имена свойств, начинающиеся с - 'или' _ ', зарезервированы для специфичных для поставщика расширений

Таким образом, вы можете создать собственное свойство, например, -custom-noop: noop;, без проверки со стороны валидатора.Однако у вас могут возникнуть проблемы со старыми браузерами, игнорирующими другие правила в блоке, если вы используете это.

Редактировать: Вам также может повезти с этим синтаксисом:

.someclass{
    /*! Keep Me */
}

Подобные комментариисохраняются после сжатия, так что это может помочь сохранить блок внутри комментария.Обратите внимание, что после сжатия ! удаляется, поэтому вам нужно будет добавлять его обратно при каждом сжатии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...