SlideShare a Scribd company logo
1 of 19
Разгони свой сайт 
Лекция 6: Оптимизация CSS 
Мациевский Николай 
webo.in 1 / 19
Содержание 
• Оптимизируем CSS expressions 
• id или class 
• Семантика и DOM-дерево 
• Reflow в документе 
webo.in 2 / 19
Оптимизируем 
CSS expressions 
webo.in 3 / 19
Производительность CSS 
• Сложность страниц увеличивается 
– Более красочный дизайн 
– Более сложная логика 
– Больше объем информации 
• CSS-анимация вытесняет JavaScript 
– Rollover-эффекты 
– Фиксированное расположение блоков 
– Выпадающие меню и др. 
webo.in 4 / 19
CSS-выражения 
• Работают только для IE 
• Позволяют внедрить JavaScript в CSS 
• Существенно замедляют работу 
• Вычисляются постоянно 
• Пример: 
#myDiv { 
position: absolute; 
left: expression((document.body.offsetWidth > 110 ? 
document.body.offsetWidth–110 : 110) + "px"); 
top: expression(document.body.offsetHeight-110 + "px"); 
} 
webo.in 5 / 19
Устраняем CSS-выражения 
• Читаем текущее значение 
– Через currentStyle 
• Вычисляем значение 
– Через само CSS-выражение 
• Заменяем значение выражения 
– Через runtimeStyle на статическое 
значение 
webo.in 6 / 19
id или class 
webo.in 7 / 19
Спецификация CSS 
• id должен быть уникальным 
• Можно использовать только один раз 
• class предполагает множественное 
использование 
• Для повторяющихся на странице 
элементов 
webo.in 8 / 19
Использование в стилях 
• #id быстрее, чем node#id 
• .class быстрее, чем node.class 
• node .class быстрее, чем 
node node2.class 
• .class в IE быстрее, чем #id 
webo.in 9 / 19
Семантика и DOM-дерево 
webo.in 10 / 19
Время на инициализацию 
• При загрузке страницы создается 
новый документ 
• И при создании любого frame/iframe 
• Это ресурсоемкая операция 
– 50-200 мс 
• Не зависит от размера документа 
– Создается одно и то же окружение 
webo.in 11 / 19
Размер DOM-дерева 
• Время на создание дерева линейно 
зависит от размера 
– 20-50 мс на 1000 узлов 
• Семантическое дерево строится 
дольше 
– На 15-20% 
• Основные задержки связаны с 
размером 
webo.in 12 / 19
Скорость выбора элемента по id 
• Зависит от размера DOM-дерева 
• Зависит от числа элементов с id 
• Используем id по минимуму 
• Если не требуется обращаться к 
элементу из JavaScript, то 
используем class 
webo.in 13 / 19
Отрисовка страницы (reflow) 
webo.in 14 / 19
Reflow 
• Производится при загрузке документа 
• Либо при обновлении элемента 
• Либо при вычислении его размеров 
• Либо при вычислении его координат 
• Проходит всех родителей элемента, 
породившего reflow 
webo.in 15 / 19
offsetHeight и display:none 
• offsetHeight 
– Позволяет узнать, отображается ли 
элемент на странице 
– Очень ресурсоемок 
• display:none 
– Требует специального задания через стили 
– Быстрее на 2 порядка, чем offsetHeight 
webo.in 16 / 19
Стили или классы? 
• Стили 
– Назначаются для одного элемента 
– Позволяют быстро менять отображение 
– Приводят к задержкам при отрисовке 
• Классы 
– Позволяет назначить сразу группу стилей 
– Легко масштабируются 
– Назначаются в отложенном режиме 
webo.in 17 / 19
Два слова о таблицах 
• Таблицы – только для табличных 
данных 
• IE не отображает таблицу, пока не 
загрузит полностью 
• Фиксированная ширина столбцов 
– Ускоряет отрисовку (все в один проход) 
– Назначается через <col> 
webo.in 18 / 19
В следующей лекции 
«Ненавязчивый» JavaScript 
• «Отложенная» загрузка 
• «Ненавязчивый» JavaScript 
• «Ненавязчивая» реклама 
• «Ненавязчивые» счетчики 
webo.in 19 / 19

More Related Content

What's hot

Sergey Cherebedov. Node.js+Drupal
Sergey Cherebedov. Node.js+DrupalSergey Cherebedov. Node.js+Drupal
Sergey Cherebedov. Node.js+DrupalDrupalSib
 
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...Badoo Development
 
Эволюция разработки (Ермаков Игорь), Форум технологий Mail.Ru Group
Эволюция разработки (Ермаков Игорь), Форум технологий Mail.Ru GroupЭволюция разработки (Ермаков Игорь), Форум технологий Mail.Ru Group
Эволюция разработки (Ермаков Игорь), Форум технологий Mail.Ru Grouptfmailru
 
HTML5 Web Components: следующий шаг к модульности вашего проекта / Андрей Рах...
HTML5 Web Components: следующий шаг к модульности вашего проекта / Андрей Рах...HTML5 Web Components: следующий шаг к модульности вашего проекта / Андрей Рах...
HTML5 Web Components: следующий шаг к модульности вашего проекта / Андрей Рах...Ontico
 
Components now! (in russian)
Components now! (in russian)Components now! (in russian)
Components now! (in russian)Mikhail Davydov
 
HTML GL - возьмите столько FPS, сколько вам нужно, и немного эффектов в прида...
HTML GL - возьмите столько FPS, сколько вам нужно, и немного эффектов в прида...HTML GL - возьмите столько FPS, сколько вам нужно, и немного эффектов в прида...
HTML GL - возьмите столько FPS, сколько вам нужно, и немного эффектов в прида...Ontico
 
SECON'2017, Васильков Василий, Elm в production
SECON'2017, Васильков Василий, Elm в productionSECON'2017, Васильков Василий, Elm в production
SECON'2017, Васильков Василий, Elm в productionSECON
 

What's hot (11)

Sergey Cherebedov. Node.js+Drupal
Sergey Cherebedov. Node.js+DrupalSergey Cherebedov. Node.js+Drupal
Sergey Cherebedov. Node.js+Drupal
 
ASP.NET MVC 4
ASP.NET MVC 4ASP.NET MVC 4
ASP.NET MVC 4
 
Drupal and NodeJS.
Drupal and NodeJS.Drupal and NodeJS.
Drupal and NodeJS.
 
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
 
Современные Single Page Application
Современные Single Page ApplicationСовременные Single Page Application
Современные Single Page Application
 
Эволюция разработки (Ермаков Игорь), Форум технологий Mail.Ru Group
Эволюция разработки (Ермаков Игорь), Форум технологий Mail.Ru GroupЭволюция разработки (Ермаков Игорь), Форум технологий Mail.Ru Group
Эволюция разработки (Ермаков Игорь), Форум технологий Mail.Ru Group
 
HTML5 Web Components: следующий шаг к модульности вашего проекта / Андрей Рах...
HTML5 Web Components: следующий шаг к модульности вашего проекта / Андрей Рах...HTML5 Web Components: следующий шаг к модульности вашего проекта / Андрей Рах...
HTML5 Web Components: следующий шаг к модульности вашего проекта / Андрей Рах...
 
Full Stack разработка на JavaScript
Full Stack разработка на JavaScriptFull Stack разработка на JavaScript
Full Stack разработка на JavaScript
 
Components now! (in russian)
Components now! (in russian)Components now! (in russian)
Components now! (in russian)
 
HTML GL - возьмите столько FPS, сколько вам нужно, и немного эффектов в прида...
HTML GL - возьмите столько FPS, сколько вам нужно, и немного эффектов в прида...HTML GL - возьмите столько FPS, сколько вам нужно, и немного эффектов в прида...
HTML GL - возьмите столько FPS, сколько вам нужно, и немного эффектов в прида...
 
SECON'2017, Васильков Василий, Elm в production
SECON'2017, Васильков Василий, Elm в productionSECON'2017, Васильков Василий, Elm в production
SECON'2017, Васильков Василий, Elm в production
 

Viewers also liked

Основные теги HTML
Основные теги HTMLОсновные теги HTML
Основные теги HTMLVasya Petrov
 
Настройка Apache и PHP
Настройка Apache и PHPНастройка Apache и PHP
Настройка Apache и PHPVasya Petrov
 
Внедрение CSS в HTML документ
Внедрение CSS в HTML документВнедрение CSS в HTML документ
Внедрение CSS в HTML документVasya Petrov
 
JavaScript-библиотека
JavaScript-библиотекаJavaScript-библиотека
JavaScript-библиотекаVasya Petrov
 
CSS Язык описания представлений
CSS Язык описания представленийCSS Язык описания представлений
CSS Язык описания представленийVasya Petrov
 
Таблицы Html
Таблицы HtmlТаблицы Html
Таблицы HtmlVasya Petrov
 
Работа с текстом в HTML
Работа с текстом в HTMLРабота с текстом в HTML
Работа с текстом в HTMLVasya Petrov
 
Rabota so strokami_v_php
Rabota so strokami_v_phpRabota so strokami_v_php
Rabota so strokami_v_phpVasya Petrov
 
массивы Php
массивы Phpмассивы Php
массивы PhpVasya Petrov
 
Создание сайта на PHP
Создание сайта на PHPСоздание сайта на PHP
Создание сайта на PHPVasya Petrov
 
Графика средствами PHP
Графика средствами PHPГрафика средствами PHP
Графика средствами PHPVasya Petrov
 
Подробная презентация JavaScript 6 в 1
Подробная презентация JavaScript 6 в 1Подробная презентация JavaScript 6 в 1
Подробная презентация JavaScript 6 в 1Vasya Petrov
 

Viewers also liked (16)

Основные теги HTML
Основные теги HTMLОсновные теги HTML
Основные теги HTML
 
Настройка Apache и PHP
Настройка Apache и PHPНастройка Apache и PHP
Настройка Apache и PHP
 
Внедрение CSS в HTML документ
Внедрение CSS в HTML документВнедрение CSS в HTML документ
Внедрение CSS в HTML документ
 
JavaScript-библиотека
JavaScript-библиотекаJavaScript-библиотека
JavaScript-библиотека
 
CSS Язык описания представлений
CSS Язык описания представленийCSS Язык описания представлений
CSS Язык описания представлений
 
Таблицы Html
Таблицы HtmlТаблицы Html
Таблицы Html
 
Работа с текстом в HTML
Работа с текстом в HTMLРабота с текстом в HTML
Работа с текстом в HTML
 
Rabota so strokami_v_php
Rabota so strokami_v_phpRabota so strokami_v_php
Rabota so strokami_v_php
 
массивы Php
массивы Phpмассивы Php
массивы Php
 
Создание сайта на PHP
Создание сайта на PHPСоздание сайта на PHP
Создание сайта на PHP
 
Html списки
Html спискиHtml списки
Html списки
 
еще JavaScript
еще JavaScriptеще JavaScript
еще JavaScript
 
Графика средствами PHP
Графика средствами PHPГрафика средствами PHP
Графика средствами PHP
 
PHP
PHPPHP
PHP
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Подробная презентация JavaScript 6 в 1
Подробная презентация JavaScript 6 в 1Подробная презентация JavaScript 6 в 1
Подробная презентация JavaScript 6 в 1
 

Similar to 633942

Роман Комаров — «Механизм работы браузера»
Роман Комаров — «Механизм работы браузера»Роман Комаров — «Механизм работы браузера»
Роман Комаров — «Механизм работы браузера»Yandex
 
Приёмы верстки страниц с использованием HTML + CSS
Приёмы верстки страниц с использованием HTML + CSSПриёмы верстки страниц с использованием HTML + CSS
Приёмы верстки страниц с использованием HTML + CSSDenis Latushkin
 
Разработка малобюджетного учебного сайта на основе концепции Wiki. Чать 2 Пор...
Разработка малобюджетного учебного сайта на основе концепции Wiki. Чать 2 Пор...Разработка малобюджетного учебного сайта на основе концепции Wiki. Чать 2 Пор...
Разработка малобюджетного учебного сайта на основе концепции Wiki. Чать 2 Пор...Сообщество eLearning PRO
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияYandex
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияYandex
 
Отполифиль свой CSS - MinskCSS 2
Отполифиль свой CSS - MinskCSS 2Отполифиль свой CSS - MinskCSS 2
Отполифиль свой CSS - MinskCSS 2Vasiliy Vanchuck
 
Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И...
 Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И... Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И...
Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И...Тарасов Константин
 
Yaremchuk - Корпоративные сайты
Yaremchuk - Корпоративные сайтыYaremchuk - Корпоративные сайты
Yaremchuk - Корпоративные сайтыAndrii Podanenko
 
Максим Ширшин "Яндекс.Панель: осваиваем 250px"
Максим Ширшин "Яндекс.Панель: осваиваем 250px"Максим Ширшин "Яндекс.Панель: осваиваем 250px"
Максим Ширшин "Яндекс.Панель: осваиваем 250px"Yandex
 
Osvaivaem 250px max_shirshin
Osvaivaem 250px max_shirshinOsvaivaem 250px max_shirshin
Osvaivaem 250px max_shirshinyaevents
 
webpack: 7 бед - один ответ
webpack: 7 бед - один ответwebpack: 7 бед - один ответ
webpack: 7 бед - один ответDenis Izmaylov
 
практическое использование модуля Panels богуцкий виктор
практическое использование модуля Panels богуцкий викторпрактическое использование модуля Panels богуцкий виктор
практическое использование модуля Panels богуцкий викторdrupalconf
 
Mihail Korepanov
Mihail KorepanovMihail Korepanov
Mihail Korepanovyaevents
 
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...Yandex
 
DOM-шаблонизаторы – не только "быстро"
DOM-шаблонизаторы – не только "быстро"DOM-шаблонизаторы – не только "быстро"
DOM-шаблонизаторы – не только "быстро"Roman Dvornov
 
State of the Standardized Web
State of the Standardized WebState of the Standardized Web
State of the Standardized WebYandex
 
Basis.js — почему я не бросил разрабатывать свой фреймворк / Роман Дворнов (О...
Basis.js — почему я не бросил разрабатывать свой фреймворк / Роман Дворнов (О...Basis.js — почему я не бросил разрабатывать свой фреймворк / Роман Дворнов (О...
Basis.js — почему я не бросил разрабатывать свой фреймворк / Роман Дворнов (О...Ontico
 
High load2007 scaling-web-applications-rus
High load2007 scaling-web-applications-rusHigh load2007 scaling-web-applications-rus
High load2007 scaling-web-applications-rusVladd Ev
 
My Open Source (Sept 2017)
My Open Source (Sept 2017)My Open Source (Sept 2017)
My Open Source (Sept 2017)Roman Dvornov
 
Работа со статикой в Django
Работа со статикой в DjangoРабота со статикой в Django
Работа со статикой в DjangoMoscowDjango
 

Similar to 633942 (20)

Роман Комаров — «Механизм работы браузера»
Роман Комаров — «Механизм работы браузера»Роман Комаров — «Механизм работы браузера»
Роман Комаров — «Механизм работы браузера»
 
Приёмы верстки страниц с использованием HTML + CSS
Приёмы верстки страниц с использованием HTML + CSSПриёмы верстки страниц с использованием HTML + CSS
Приёмы верстки страниц с использованием HTML + CSS
 
Разработка малобюджетного учебного сайта на основе концепции Wiki. Чать 2 Пор...
Разработка малобюджетного учебного сайта на основе концепции Wiki. Чать 2 Пор...Разработка малобюджетного учебного сайта на основе концепции Wiki. Чать 2 Пор...
Разработка малобюджетного учебного сайта на основе концепции Wiki. Чать 2 Пор...
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
 
Отполифиль свой CSS - MinskCSS 2
Отполифиль свой CSS - MinskCSS 2Отполифиль свой CSS - MinskCSS 2
Отполифиль свой CSS - MinskCSS 2
 
Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И...
 Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И... Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И...
Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И...
 
Yaremchuk - Корпоративные сайты
Yaremchuk - Корпоративные сайтыYaremchuk - Корпоративные сайты
Yaremchuk - Корпоративные сайты
 
Максим Ширшин "Яндекс.Панель: осваиваем 250px"
Максим Ширшин "Яндекс.Панель: осваиваем 250px"Максим Ширшин "Яндекс.Панель: осваиваем 250px"
Максим Ширшин "Яндекс.Панель: осваиваем 250px"
 
Osvaivaem 250px max_shirshin
Osvaivaem 250px max_shirshinOsvaivaem 250px max_shirshin
Osvaivaem 250px max_shirshin
 
webpack: 7 бед - один ответ
webpack: 7 бед - один ответwebpack: 7 бед - один ответ
webpack: 7 бед - один ответ
 
практическое использование модуля Panels богуцкий виктор
практическое использование модуля Panels богуцкий викторпрактическое использование модуля Panels богуцкий виктор
практическое использование модуля Panels богуцкий виктор
 
Mihail Korepanov
Mihail KorepanovMihail Korepanov
Mihail Korepanov
 
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
 
DOM-шаблонизаторы – не только "быстро"
DOM-шаблонизаторы – не только "быстро"DOM-шаблонизаторы – не только "быстро"
DOM-шаблонизаторы – не только "быстро"
 
State of the Standardized Web
State of the Standardized WebState of the Standardized Web
State of the Standardized Web
 
Basis.js — почему я не бросил разрабатывать свой фреймворк / Роман Дворнов (О...
Basis.js — почему я не бросил разрабатывать свой фреймворк / Роман Дворнов (О...Basis.js — почему я не бросил разрабатывать свой фреймворк / Роман Дворнов (О...
Basis.js — почему я не бросил разрабатывать свой фреймворк / Роман Дворнов (О...
 
High load2007 scaling-web-applications-rus
High load2007 scaling-web-applications-rusHigh load2007 scaling-web-applications-rus
High load2007 scaling-web-applications-rus
 
My Open Source (Sept 2017)
My Open Source (Sept 2017)My Open Source (Sept 2017)
My Open Source (Sept 2017)
 
Работа со статикой в Django
Работа со статикой в DjangoРабота со статикой в Django
Работа со статикой в Django
 

More from Vasya Petrov

Графика средствами PHP
Графика средствами PHPГрафика средствами PHP
Графика средствами PHPVasya Petrov
 
Подробная презентация JavaScript 6 в 1
Подробная презентация JavaScript 6 в 1Подробная презентация JavaScript 6 в 1
Подробная презентация JavaScript 6 в 1Vasya Petrov
 
Rabota s massivami_v_php
Rabota s massivami_v_phpRabota s massivami_v_php
Rabota s massivami_v_phpVasya Petrov
 

More from Vasya Petrov (6)

О школе
О школеО школе
О школе
 
Графика средствами PHP
Графика средствами PHPГрафика средствами PHP
Графика средствами PHP
 
Подробная презентация JavaScript 6 в 1
Подробная презентация JavaScript 6 в 1Подробная презентация JavaScript 6 в 1
Подробная презентация JavaScript 6 в 1
 
Rabota s massivami_v_php
Rabota s massivami_v_phpRabota s massivami_v_php
Rabota s massivami_v_php
 
Tables frames
Tables framesTables frames
Tables frames
 
Javascript
JavascriptJavascript
Javascript
 

633942

  • 1. Разгони свой сайт Лекция 6: Оптимизация CSS Мациевский Николай webo.in 1 / 19
  • 2. Содержание • Оптимизируем CSS expressions • id или class • Семантика и DOM-дерево • Reflow в документе webo.in 2 / 19
  • 4. Производительность CSS • Сложность страниц увеличивается – Более красочный дизайн – Более сложная логика – Больше объем информации • CSS-анимация вытесняет JavaScript – Rollover-эффекты – Фиксированное расположение блоков – Выпадающие меню и др. webo.in 4 / 19
  • 5. CSS-выражения • Работают только для IE • Позволяют внедрить JavaScript в CSS • Существенно замедляют работу • Вычисляются постоянно • Пример: #myDiv { position: absolute; left: expression((document.body.offsetWidth > 110 ? document.body.offsetWidth–110 : 110) + "px"); top: expression(document.body.offsetHeight-110 + "px"); } webo.in 5 / 19
  • 6. Устраняем CSS-выражения • Читаем текущее значение – Через currentStyle • Вычисляем значение – Через само CSS-выражение • Заменяем значение выражения – Через runtimeStyle на статическое значение webo.in 6 / 19
  • 7. id или class webo.in 7 / 19
  • 8. Спецификация CSS • id должен быть уникальным • Можно использовать только один раз • class предполагает множественное использование • Для повторяющихся на странице элементов webo.in 8 / 19
  • 9. Использование в стилях • #id быстрее, чем node#id • .class быстрее, чем node.class • node .class быстрее, чем node node2.class • .class в IE быстрее, чем #id webo.in 9 / 19
  • 11. Время на инициализацию • При загрузке страницы создается новый документ • И при создании любого frame/iframe • Это ресурсоемкая операция – 50-200 мс • Не зависит от размера документа – Создается одно и то же окружение webo.in 11 / 19
  • 12. Размер DOM-дерева • Время на создание дерева линейно зависит от размера – 20-50 мс на 1000 узлов • Семантическое дерево строится дольше – На 15-20% • Основные задержки связаны с размером webo.in 12 / 19
  • 13. Скорость выбора элемента по id • Зависит от размера DOM-дерева • Зависит от числа элементов с id • Используем id по минимуму • Если не требуется обращаться к элементу из JavaScript, то используем class webo.in 13 / 19
  • 15. Reflow • Производится при загрузке документа • Либо при обновлении элемента • Либо при вычислении его размеров • Либо при вычислении его координат • Проходит всех родителей элемента, породившего reflow webo.in 15 / 19
  • 16. offsetHeight и display:none • offsetHeight – Позволяет узнать, отображается ли элемент на странице – Очень ресурсоемок • display:none – Требует специального задания через стили – Быстрее на 2 порядка, чем offsetHeight webo.in 16 / 19
  • 17. Стили или классы? • Стили – Назначаются для одного элемента – Позволяют быстро менять отображение – Приводят к задержкам при отрисовке • Классы – Позволяет назначить сразу группу стилей – Легко масштабируются – Назначаются в отложенном режиме webo.in 17 / 19
  • 18. Два слова о таблицах • Таблицы – только для табличных данных • IE не отображает таблицу, пока не загрузит полностью • Фиксированная ширина столбцов – Ускоряет отрисовку (все в один проход) – Назначается через <col> webo.in 18 / 19
  • 19. В следующей лекции «Ненавязчивый» JavaScript • «Отложенная» загрузка • «Ненавязчивый» JavaScript • «Ненавязчивая» реклама • «Ненавязчивые» счетчики webo.in 19 / 19