Увеличиваем скорость обработки CSS кода

При написании CSS кода возникает проблема медленного ранжирования в старых браузерах и компьютерах. Сегодня мы рассмотрим способы написания кода, который будет потреблять меньше пользовательский ресурсов и ранжироваться быстрее.

Каждый браузер по своему обрабатывает код. Например, Mozilla предлагает свои рекомендации по написанию кода.

Мы объединим все идеи и рекомендации существующие на данный момент, после чего обсудим детальнее каждую из них.

Скорость загрузки CSS
 

Способы ускорения ранжирования CSS

Избегайте перерисовки изображений после их загрузки

Для устранения перерисовки изображений, всегда определяйте ширину и высоту для всех картинок. Это позволяет браузеру выстроить элементы в корректном порядке еще до загрузки изображения.

Вы можете установить эти свойства в html коде, или же css свойством.

Если имеется надобность уменьшить изображение, прежде всего сделайте это в редакторе, после чего установите аналогичные параметры ширины и высоты в css коде. Другими словами, избегайте масштабирования изображений свойствами css.

Общие селекторы медленные, ID самый быстрый

Вот список селекторов, в порядке скорости ранжирования:

#sidebar  {}             /* ID (Самый быстрый) */
.home #slider {}         /* ID */
.footer {}               /* Class */
ul li a.arrow {}         /* Class */
ul {}                    /* Tag */
ul li a }                /* Tag */
* {}                     /* Универсальный (Самый медленный) */
#content [title='home']  /* Универсальный */

Для примера, этот селектор не будет обрабатываться достаточно быстро:

#sidebar > li

Казалось бы, если ID самый быстрый, такова конструкция будет работать быстро. Сначала находим ID, потом его дочерний элемент. Но это не так, браузеры считывают селекторы справа налево.

Принцип справа налево

Важно понимать, как браузеры обрабатывают css селекторы. Если селектор типа ol > li a[title="link"] прежде всего интерпретируется a[title="link"]

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

Ссылку на CSS файл пишите только в HEAD

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

Нисходящие селекторы

Уже рассматривали принцип справа налево. Вот пример нисходящего селектора, который потребляет критически много ресурсов:

html body nav a span {} 

Возьмите во внимание преимущества CSS каскадов

Иногда можно получить тот же результат без использования дополнительных селекторов. Для примера рассмотрим код:

nav li a {font-size:14px}

Такого же эффекта можно добиться, принимая во внимание каскадное наследование стилей:

nav {font-size:14px}

НЕ делайте так:

form#UserLogin {}

ID самый быстрый селектор, но он не будет работать достаточно быстро в данной конструкции. Это также применимо к классовым селекторам .classname

CSS3 селекторы

CSS3 селекторы (например :first-child) очень удобны в поддержании чистоты и семантики кода. Но, фактически они потребляют больше ресурсов браузера. Если вы обеспокоены разработкой быстрого css кода, лучше их не использовать вообще.

Скорость CSS и Практика

Это может выглядеть, как будто надо везде влепить ID и прописать стили к ID элемента. Но так теряется семантика кода, что более критически нежели несколько бит клиентской памяти.

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

Какие техники используете Вы для написания css кода? Обязательно делимся практикой в комментариях ниже!


Источник материала ...

Дальше: Как правильно подобрать сотрудников? Принципы подбора результативных работников


Дискуссия по теме     4 Комментария 
Добавить комментарий
Михаил 21.11.2013 в 12:19
Интересно написано: - "Ссылку на CSS файл пишите только в HEAD"!? Чтобы тормозило конкретно? Содержание верхней части страницы (<head>...</head>) отображается только после загрузки css файлов! Их необходимо выносить из HEAD в BODY и ставить перед </body>. Смотрим и читаем http://developers.google.com/speed/pagespeed/insights/
Тим 27.06.2013 в 19:12
Да да. Хотели как лучше, а получается как всегда
Slavik 22.04.2013 в 22:32
"Используйте выше рассмотренные принципы для создания специфических сайтов..." написал бы лучше вначале статьи, а не в конце, а то зря прочитал :)
Тарас 23.04.2013 в 00:32
Все равно знать полезно. Даже при написании кода под обычный веб сайт. Ведь лучше сделать как лучше :)
Просмотров: 5015
Страхование КАСКО
карта банка
ндфл
усн
Оформление доверенности
страхование ипотеки
esim
осаго
ВЗР страхование
кредитная карта
Cialis barato Viagra Contrareembolso Cialis 5 mg precio mejores farmacias para comprar Viagra reacciones adversas de Cialis Reduslim cómo tomar soluciones para la impotencia Sildenafil Comprare Cialis 5 mg Giornaliero online in Italia Effetti indesiderati del Cialis 5 mg Acquista Cialis 20mg Cialis originale in vendita In Svizzera si compra il Viagra senza ricetta Cialis 10mg online Acquista Viagra in farmacia Offerta Cialis 5mg Spedra Avanafil in vendita online Acquista Viagra in Svizzera senza prescrizione авиатор спрайб Consegna a domicilio di Cialis 5 mg Effetti collaterali di Cialis 5 mg Consegna a domicilio di Cialis 20mg Acquista Cialis originale generico in Svizzera Consegna a domicilio di Viagra senza ricetta in Svizzera Compra Cialis 10mg Consegna a domicilio di Viagra in farmacia online Sconto Cialis 5mg Comprar Reduslim por internet Comprare Spedra Avanafil senza ricetta online Dove comprare il Viagra in Svizzera Compra Cialis Comprar online Viagra Contrareembolso Dónde encontrar Cialis 5 mg al mejor precio Viagra sin receta Cialis 5 mg efectos secundarios graves Reduslim comprar en línea Disfuncion Erectil tadalafilo avanafil prezzo cialis 20 mg prezzo cialis effetti benefici cialis 10 mg Reduslim Kaufen pulse x coin price