Избегайте использования выражений CSS

В статье "Avoid CSS Expressions" автор призывает читателей избегать по возможности использования выражений CSS, т.к. это влияет на скорость загрузки страницы.

 Выражения CSS являются мощным, но опасным способом динамической настройки свойств CSS. Они поддерживаются Internet Explorer, начиная с версии 5. Например, цвет фона может быть настроен с помощью выражений CSS так, что он будет меняться каждый час.

      background-color: expression( (new Date()).getHours()%2 ? "#B8D4FF" : "#F08A00" );

Как Вы видите, метод выражений принимает выражение JavaScript. Свойство CSS настроено на результат изменения. Метод выражений игнорируется другими браузерами, так что это полезно для настройки свойства в Internet Explorer, необходимых для последовательной работы в разных браузерах.

Проблема с выражениями состоит в том, что они меняются чаще, чем многие думают. Они меняются не только, когда отрисовывается страница, но и когда она прокручивается и даже когда пользователь перемещается мышью по странице. Добавление счётчика в выражение CSS позволяет нам отслеживать, когда и как часто меняется выражение CSS. Перемещение мышью по странице может легко производить более 10 000 изменений.

Один из способов уменьшить количество изменений выражения CSS заключается в использовании одноразовых выражений, когда выражение изменяется в первый раз оно задает свойство стиля на заданное значение, которое заменяет выражение CSS. Если свойство стиля должно задаваться динамически на протяжении всего периода существования страницы, то использование обработчиков событий вместо выражений CSS является альтернативным подходом. Если же вам всё же надо использовать выражения CSS, помните, что они могут влиять на производительность страницы.

 

Оригинал статьи на developer.yahoo.com

Перевод КОМТЕТ komtet.ru