Разгони свой сайт Лекция 6: Оптимизация CSS Мациевский Николай 1 / 19 webo.in.

Презентация:



Advertisements
Похожие презентации
Разгони свой сайт Лекция 7: «Ненавязчивый» JavaScript Мациевский Николай 1 / 22 webo.in.
Advertisements

Разгони свой сайт Лекция 4: Объединение файлов Мациевский Николай 1 / 22 webo.in.
Разгони свой сайт Лекция 5: Параллельные загрузки Мациевский Николай 1 / 27 webo.in.
Разгони свой сайт Лекция 8: Быстрый JavaScript Мациевский Николай 1 / 24 webo.in.
Скорость имеет значение Проблема медленных сайтов реальна Мациевский Николай, Web Optimizator 1 / 19 webo.in / webo.name.
Разгони свой сайт Лекция 3: Кэширование Мациевский Николай 1 / 19 webo.in.
Разгони свой сайт Лекция 1: Особенности клиентской оптимизации Мациевский Николай 1 / 23 webo.in.
CSS валидатор
Проверяем качество сайтов Ключевые моменты оценки качества веб-проектов Мациевский Николай, Web Optimizator 1 / 16 webo.in / webo.name.
VML, SVG, Canvas Вчера, сегодня, завтра.
Разгони свой сайт Лекция 9: Практическое приложение Мациевский Николай 1 / 27 webo.in.
Таблицы и фреймы По материалам курса University of Washington.
Отладка программ на JavaScript. FireBug.. FireBug – дополнение к FireFox Возможности: Анализ html-кода страницы Вычисление CSS Работа с JavaScript Анализ.
Каскадные таблицы стилей CSS Блоковая модель. Синтаксис CSS.
Разгоняем все, что движется Оптимизация времени загрузки сайта: проблемы и решения Мациевский Николай, Acronis webo.in1 / 23.
Цель урока: повторить и закрепить понятие «система координат»
Быстрый сайт хороший сайт Скорость как основной критерий качества интернет-магазина Мациевский Николай, WEBO 1 / 13
jQuery jQuery библиотека JavaScript, фокусирующаяся на взаимодействии JavaScript и HTML. Библиотека jQuery помогает легко получать доступ к любому элементу.
JS, or not JS, вот в чем вопрос Фитискин Александр веб-технолог студия «Dominion»
CSSCSS (англ. Cascading Style Sheets каскадные таблицы стилей) язык описания внешнего вида документа, написанного с использованием языка разметки.англ.
Транксрипт:

Разгони свой сайт Лекция 6: Оптимизация CSS Мациевский Николай 1 / 19 webo.in

Содержание Оптимизируем CSS expressions id или class Семантика и DOM-дерево Reflow в документе 2 / 19 webo.in

Оптимизируем CSS expressions webo.in 3 / 19

Производительность CSS Сложность страниц увеличивается –Более красочный дизайн –Более сложная логика –Больше объем информации CSS-анимация вытесняет JavaScript –Rollover-эффекты –Фиксированное расположение блоков –Выпадающие меню и др. 4 / 19 webo.in

CSS-выражения 5 / 19 webo.in Работают только для IE Позволяют внедрить JavaScript в CSS Существенно замедляют работу Вычисляются постоянно Пример: #myDiv { position: absolute; left: expression((document.body.offsetWidth > 110 ? document.body.offsetWidth–110 : 110) + "px"); top: expression(document.body.offsetHeight "px"); }

Устраняем CSS-выражения 6 / 19 webo.in Читаем текущее значение –Через currentStyle Вычисляем значение –Через само CSS-выражение Заменяем значение выражения –Через runtimeStyle на статическое значение

id или class webo.in 7 / 19

Спецификация CSS 8 / 19 webo.in id должен быть уникальным Можно использовать только один раз class предполагает множественное использование Для повторяющихся на странице элементов

Использование в стилях 9 / 19 webo.in #id быстрее, чем node#id.class быстрее, чем node.class node.class быстрее, чем node node2.class.class в IE быстрее, чем #id

Семантика и DOM-дерево webo.in 10 / 19

Время на инициализацию При загрузке страницы создается новый документ И при создании любого frame/iframe Это ресурсоемкая операция – мс Не зависит от размера документа –Создается одно и то же окружение 11 / 19 webo.in

Размер DOM-дерева 12 / 19 webo.in Время на создание дерева линейно зависит от размера –20-50 мс на 1000 узлов Семантическое дерево строится дольше –На 15-20% Основные задержки связаны с размером

Скорость выбора элемента по id 13 / 19 webo.in Зависит от размера DOM-дерева Зависит от числа элементов с id Используем id по минимуму Если не требуется обращаться к элементу из JavaScript, то используем class

Отрисовка страницы (reflow) webo.in 14 / 19

Reflow Производится при загрузке документа Либо при обновлении элемента Либо при вычислении его размеров Либо при вычислении его координат Проходит всех родителей элемента, породившего reflow 15 / 19 webo.in

offsetHeight и display:none offsetHeight –Позволяет узнать, отображается ли элемент на странице –Очень ресурсоемок display:none –Требует специального задания через стили –Быстрее на 2 порядка, чем offsetHeight 16 / 19 webo.in

Стили или классы? Стили –Назначаются для одного элемента –Позволяют быстро менять отображение –Приводят к задержкам при отрисовке Классы –Позволяет назначить сразу группу стилей –Легко масштабируются –Назначаются в отложенном режиме 17 / 19 webo.in

Два слова о таблицах Таблицы – только для табличных данных IE не отображает таблицу, пока не загрузит полностью Фиксированная ширина столбцов –Ускоряет отрисовку (все в один проход) –Назначается через 18 / 19 webo.in

В следующей лекции «Ненавязчивый» JavaScript «Отложенная» загрузка «Ненавязчивый» JavaScript «Ненавязчивая» реклама «Ненавязчивые» счетчики 19 / 19 webo.in