Web-сайт. Ускоряем загрузку. CSS

Этим постом я хотел бы начать небольшую серию статей об ускорении времени загрузки web-сайта.

Всем известно, что очень большое значение имеет содержание сайта (блога), но не стоит забывать и скорости работы. Потому как, какой бы не был интересный контент, если он загружается очень медленно, то скорее всего Вы потеряете потенциального, а возможно и постоянного посетителя.

Как правило приемлемым временем загрузки любого сайта (блога) является время в пределах от 1 до 5 секунд. Возможно в некоторых случаях это окажется нереально, но к этому надо стремится.

Очевидно, что чем меньше размер содержимого Вашего блога тем меньшее время понадобится на его загрузку. В этом посте я хотел бы обратить особое внимание именно CSS.

    Вот 7 основных моментов оптимизации CSS:
  • Уменьшаем количество загружаемых CSS-файлов.

    Объединяем, если это возможно, css-файлы в один или в меньшее количество файлов. Этим мы добъемся уменьшения http запросов. Один файл большего размера будет загружаться быстрее чем 10 меньшего размера.

  • Выносим стили в отдельный файл(ы).

    Если у вас на странице есть объявления стилей с помощью тега style type="text\css" , то их лучше вынести в отдельный файл. За счет этого файлы будут кэшироваться и соответственно при последующих открытиях страниц будут браться из кэша, а не загружаться снова.

  • Перемещаем описание стилей CSS в head.

    Все дело в том, что браузер блокирует отрисовку страницы пока не загружены все стили, потому что стили могут изменить отображение страницы и браузеру придется перерисовывать её снова.

  • Избегаем использования CSS expressions.

    Internet Explorer позволяет задать css ехpressions. Например,

     p { width:expression(400 + "px");} 
    Проблема в том, что этот expression может вычисляться огромное количество раз и соответственно производительность загрузки страницы будет страдать.

  • Удаляем неиспользуемые css-классы.

    За время жизни блога css файлы могут меняться, оптимизироваться и т.д. В итоге появляются классы, которые уже нигде не используются, но приводят к увеличению размера файла.

  • Удаляем бесполезные css-правила.

    В ccs-стилях могут присутствовать идентичные правила. Например,

     p div {width:30px} и div {width:30px} 
    Это взаимозаменяемые правила и соответственно одно из них может быть без проблем удалено.

  • Минимизируем CSS.

    Описание стилей могут включать в себя большое количество различных пробелов, комментариев и т.д., что соответственно увеличивает размер файла. Существует множество online утилит, которые помогают минимизировать css. Например, я нашел cледующую неплохую утилиту - CSS compressor. С помощью настроек Вы сможете задать степень сжатия и другие параметры.

    Например, вот что у меня получилось:
    Как видим, размер сжатия в моем случае почти 23%. Довольно неплохо. Я выбрал стандартный режим сжатия, чтобы не потерялась читабельность. Если для Вас это не важно, то размер сжатия можно увеличить.

Набор этих простых шагов положительно повлияет на время загрузки Вашего блога и соответственно улучшит впечатления от посещения. В последующих постах я попытаюсь глубже раскрыть тему оптимизации производительности.

Время - деньги. Оптимизируйте Ваш сайт. Ваши пользователи будут Вам благодарны.