Вы маньяк? — тогда минимизируйте!

808
Вот состряпал свой минимизатор CSS, и хоть ниже я предоставлю вас ссылки на более продвинутые решения, мой все же имеет пару уникальных пунктов)

Итак вот, что произошло с практически стандартным CSS файлом шаблона:


1) Убираются комментарии вида /*...*/.
2) Убираются переносы строк, табуляции, двойные и более последовательности пробелов (от 2 до 8).
3) Убираются одиночные пробелы перед и за скобами «{», «}».
4) Убираются одиночные пробелы за и перед точкой с запятой (пробелы между перечислениями атрибутов).
5) Убираются одиночные пробелы за и перед двоеточием (между селекторами, а также между атрибутами).
6) Убираются одиночные пробелы за и перед запятой (используется если идет список селекторов через зяпятую).
7) Если атрибут последний, то убирается последняя точка с запятой (хотя этого можно и не делать).
8) Укорачиваются 16-тиричные именования цветов согласно спецификации CSS (#FFFFFF = #FFF, #303303 = #303, ...).
9) Подставляются наиболее короткие цветовые именования, согласно спецификации CSS и поддержки кроссбраузерности (#0000FF = blue (подставляем, так как текстовая константа короче), #9400D3 = darkviolet (отказ, текстовая константа длиннее), вместо white подставляются #FFF, ...)
10) Убираем лишние записи возле нулевых величин (0px = 0, 0pt = 0, ...)
11) Заменяем «border:none» на «border:0».

Как быстрый пример я представлю вам минимизацию практически стандартного CSS файла из InstantCMS:

Начальный файл: styles.css
Конечный файл: new_styles.css
Исходный размер: 61202 байт.
Новый размер: 46871 байт. Размер сократился на: 14331 байт. Степень сжатия: 23.42%.

Если желаете скачать вам сюда. Замете, в бесплатном виде вы можете только сжимать файлы по одному. Начальный файл должен быть styles.css, конечный файл должен быть new_styles.css (с правами на запись).

И главное о минимизации. Вот интереснейшая ссылка на Хабре по этой теме, где в комментариях можно найти много чего интересного. Особенно вот это: vant.kiev.ua/compressor.zip (1.6 Мб) если у вас Windows —и вы хотите быстренько положить в одну папку, взять в другой, то это для вас (должно стоять JRE (Java Runtime Environment), но это у большинства есть ). Незабудте в БАТ файлах поменять пути на свои, а то сразу не заработает. А также Вот это: code.google.com/p/minify/ — довольно мощная вещь. Чуть чуть подправить под себя и вы сможете сжимать как HTML, JS, CSS и даже внедрить к себе в проект и настроить сжатие трафика.
Очистка системного кэша | CSS префикс
Комментарии (1)
0 10 февраля 2010 в 13:35 0
По поводу сжатия вот интересная статья.

Код PHP:
AddEncoding gzip .gz
RewriteCond %{HTTP:Accept-encoding} !gzip [OR]
RewriteCond %{HTTP_USER_AGENT} Safari [OR]
RewriteCond %{HTTP_USER_AGENT} Konqueror
RewriteRule ^(.*)\.gz(\?.+)?$ $1 [QSA,L]
Про то что кроме Safari нужно ещё учитывать и Konqueror и Chrome.