Предположим, A.css стилей B.html. Какие инструменты / методы существуют для программного уменьшения размера A.css при сохранении его стилевого эффекта на константе B.html? Вот некоторые приемы, которые я мог бы представить, используя такой инструмент:
Удалить избыточность в A.css. Например, если один и тот же класс определен дважды, вы можете удалить второе определение, не затрагивая семантику. Это кажется довольно простым.
Удалить определения стиля, которые не используются . Стилизует ли A.css элементы, которых нет в B.html? Если это так, удалите их.
Комбинируйте стили, где это необходимо . Если A.css определяет стили для div.x и div.y и каждый div, в котором есть класс x, также имеет класс y, можно объединить определения классов в A.css.
Другая стратегия состояла бы в том, чтобы иметь инструмент, который проверяет вычисленные стили каждого элемента в фрагменте стилизованного HTML и выплевывает минимальную таблицу стилей, которая сохранит вычисленные стили. Существует ли что-то вроде this ?
UPDATE
Позвольте мне объяснить, как я попал в эту ситуацию. Данный CSS-файл предназначен для электронной почты , и он был создан путем копирования такого же CSS-файла, который мы использовали на соответствующей веб-странице. Поскольку HTML в электронном письме является надлежащим подмножеством HTML на веб-странице, с которой пришел CSS, некоторые из CSS в электронном письме излишни.