Предположим, 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 и выводит минимальную таблицу стилей, которая сохраняла бы вычисленные стили. Что-то вроде это существует?
Позвольте мне объяснить, как я попал в такую ситуацию. Рассматриваемый файл CSS предназначен для Эл. адрес, и он был создан в основном путем копирования аналогичного файла CSS, который мы использовали на связанной веб-странице. Поскольку HTML в электронном письме является правильным подмножеством HTML на веб-странице, с которой был получен CSS, некоторые из CSS в электронном письме излишни.






Обычно вы просто удаляете все ненужные пробелы. Не забудьте также сохранить оригинал, чтобы не потерять удобочитаемость при редактировании сайта позже.
Если у вас нет обычно большого файла CSS, я бы предпочел удобочитаемость и возможность модификации файла CSS, а не меньший файл CSS. Поскольку файлы CSS статичны (по большей части), большинство браузеров действительно хорошо кэшируют их. Хотя все ваши предложения хороши, объединение вещей, которые сейчас одинаковы для разных элементов документа, может нанести ущерб в будущем, когда вы захотите изменить только один из этих элементов.
Я думаю, что проверка того, что файлы css сжаты веб-сервером, - это ваша самая большая экономия полосы пропускания.
Мне не известны инструменты для удаления избыточных стилей, но если вы хотите уменьшить размер файла из соображений производительности, есть несколько инструментов для минифайла:
Видеть:
Хорошая идея - сжать ваш css.
Это не сжатие в стиле zip, это фактически переписывание CSS (также известное как минификация).
Конечно, вы также можете использовать mod_gzip или mod_deflate.
"Есть ли что-то подобное?"
Конечно. См. Инструмент CSS Tidy.
Однако я не верю, что он удаляет неиспользуемые css. Для этого см. Селекторы Dust Me Sitepoint.
Хорошо, вам нужен не маленький файл для KB (использование сжатия gzip более эффективно!), А удаление устаревших стилей, что действительно улучшит обслуживание.
Я не знаю, существует ли идеальный инструмент, который вам нужен, но Firebug (расширение для Firefox) может сказать, что вам нужны элементы CSS, используемые данным элементом HTML. Не автоматизированный, но по-прежнему ценный инструмент. Вы также можете редактировать живой CSS, чтобы увидеть, повлияет ли удаление элемента стиля на HTML-страницу.