SlideShare a Scribd company logo
1 of 120
Download to read offline
Куда движется вёрстка и
верстальщики Яндекса.

Олег Мохов
Разработчик интерфейсов


Я.Субботник, Алматы, 15 октября 2011 года
6
6
Вышел в 2001 году

    Очень много проблем и
    неподдерживаемых решений

    Доля в рунете 1.7%
    и продолжает снижаться




6
Вышел в 2001 году

    Очень много проблем и
    неподдерживаемых решений

    Доля в рунете 1.7%
    и продолжает снижаться




6
Вышел в 2006 году

    Проблемы почти те же

    Доля в рунете 4.7%




7
IE8     Firefox 3

    10.4%     6.5%
8
¹/₄
10
Firefox 7   IE6
10
2011   2001
10
11
4 элемента




11
4 элемента
     разные решения в разных
     ситуациях




11
4 элемента
     разные решения в разных
     ситуациях
     время на внедрить и
     протестировать




11
4 элемента
     разные решения в разных
     ситуациях
     время на внедрить и
     протестировать
     удар по скорости рендеринга




11
12
Chrome   Firefox   Opera   IE



13
14
CSS3

     Не фиксим png24

     В разных браузерах может
     различаться порядок блоков




14
FF   IE
15
нет уголка

     FF                IE
15
нет png24 fix




          нет уголка

     FF                 IE
15
border-radius + before:        нет png24 fix




                           нет уголка

              FF                         IE
15
border-radius + before:        нет png24 fix




                           нет уголка

              FF                         IE
16
17
FF   IE




18
FF    IE




     placeholder


18
FF                    IE




     placeholder
                   CSS3 градиент

18
FF                    IE




     placeholder                        картинка
                   CSS3 градиент

18
19
19
+ transition
19
+ transition
19
Сервисом можно
 пользоваться!
22
23
24
25
.example-shadow
{
    position: relative;
}




                          26
.example-shadow
{
    position: relative;
}

.example-shadow:before
{
    position: absolute;
    top: 0; bottom: 0;
    left: 0; right: 0;
    display: block;
    content: “”;
}


                          27
.example-shadow
{
    position: relative;
}

.example-shadow:before
{
    position: absolute;
    top: 0; bottom: 0;
    left: 0; right: 0;
    z-index: -1;
    display: block;
    content: “”;
}

                          28
.example-shadow
{
    position: relative;
}

.example-shadow:before
{
    position: absolute;
    top: 0; bottom: 0;
    left: 0; right: 0;
    z-index: -1;
    display: block;
    content: “”;
    box-shadow: 0 0 14px #fff;
}
                                 29
30
31
31
32
33
34
.b-button
{
    position: relative;

    display: -moz-inline-box;
    display: inline-block;
    
    width: 100px;
    height: 50px;
    
    background: url(sprite.png) repeat-x;
}



.b-button:hover
{
    background-position: 0 100%;
}

                                            35
.b-button:before, .b-button:after
{
    position: absolute;
    top: 0; bottom: 0;
    right: 0; left: 0;
    z-index: 1;
    
    content: '';
    
    opacity: 1; transition: opacity 0.2s linear;
    background: url(sprite.png) repeat-x;
}



.b-button:after
{
    opacity: 0;
    background-position: 0 100%;
}

.b-button:hover:before { opacity: 0 !important; }

                                                    36
.b-button:hover:after { opacity: 1 !important; }
Тачевая вёрстка
38
iOS   Android




39
Подробнее через
     несколько минут



40
Каждый верстальщик Яндекса
          будет заниматься
          тачевой вёрсткой


41
Производительность

Хочется всё и сразу



                      42
На сервере




43
На сервере

     • Обфускация




43
На сервере

     • Обфускация
     • Уменьшение количества запросов к серверу




43
На сервере

     • Обфускация
     • Уменьшение количества запросов к серверу
     • Оптимизация картинок



43
На сервере

     • Обфускация
     • Уменьшение количества запросов к серверу
     • Оптимизация картинок
     • Правильные http-заголовки


43
На сервере

     • Обфускация
     • Уменьшение количества запросов к серверу
     • Оптимизация картинок
     • Правильные http-заголовки


43
На клиенте




44
На клиенте

     • Не использовать каскад




44
На клиенте

     • Не использовать каскад
     • Не селектить по тегам




44
На клиенте

     • Не использовать каскад
     • Не селектить по тегам
     • Растягивать DOM вширь, а не вглубь



44
Конкретнее




45
Конкретнее

     • png24 спрайты с фильтром тормозят в IE




45
Конкретнее

     • png24 спрайты с фильтром тормозят в IE
     • много селекторов + способны повесить FF




45
Конкретнее

     • png24 спрайты с фильтром тормозят в IE
     • много селекторов + способны повесить FF
     • box-shadow inset с шириной > 10px тормозит



45
Конкретнее

     • png24 спрайты с фильтром тормозят в IE
     • много селекторов + способны повесить FF
     • box-shadow inset с шириной > 10px тормозит
     • transition цвета даёт большую нагрузку на
      процессор



45
46
Обнаружили и
      исследовали

47
Исследовали и
      обнаружили

47
Исследование




48
Исследование

     • Влияние CSS-свойств на скорость рендеринга




48
Исследование

     • Влияние CSS-свойств на скорость рендеринга
     • Влияние сочетаний свойств, комбинации




48
Исследование

     • Влияние CSS-свойств на скорость рендеринга
     • Влияние сочетаний свойств, комбинации
     • Исследования скорости рендеринга графики в
      разных форматах




48
Выяснили




49
Выяснили

     • CSS3 свойства зачастую сильно быстрее экстра
       разметки, но не во всех случаях




49
Выяснили

     • CSS3 свойства зачастую сильно быстрее экстра
       разметки, но не во всех случаях
     • data:uri картинки рендерятся так же быстро,
       как и обычные картинки




49
Выяснили

     • CSS3 свойства зачастую сильно быстрее экстра
       разметки, но не во всех случаях
     • data:uri картинки рендерятся так же быстро,
       как и обычные картинки
     • Псевдоселекторы быстрее с указанием имени
       элемента (:link → a:link)



49
Доклад Михаила Корепанова
      на Я.Субботнике в Киеве
       http://video.yandex.ru/users/ya-events/view/275/




50
Куда мы идём?




51
Куда мы идём?


     • Новые технологии и graceful degradation




51
Куда мы идём?


     • Новые технологии и graceful degradation
     • Тачевая вёрстка



51
Куда мы идём?


     • Новые технологии и graceful degradation
     • Тачевая вёрстка
     • Ускорение рендеринга


51
Самоускорение
CodeStyle



54
Группировка
     CSS-свойств
     •   шрифт
     •   позиционирование
     •   отображение
     •   размеры
     •   таблицы/списки
     •   текст
     •   цвета/эффекты


55
.b-switcher__tumbler
{
    width: 33px;
    height: 13px;
    margin: 0 5px;

    display: -moz-inline-box;
    display: inline-block;

    vertical-align: middle;
	   text-align: left;



    border: 1px solid #bbb5b3;
    background: #a1a1a1;
    -moz-border-radius: 3px;    /* Firefox */
    -webkit-border-radius: 3px; /* Safari, Chrome */
    border-radius: 3px;
    -moz-box-shadow: inset -2px 2px 3px 0 #666;    /* Firefox */
    -webkit-box-shadow: inset -2px 2px 3px 0 #666; /* Safari, Chrome */
    box-shadow: inset -2px 2px 3px 0 #666;
}
CSSComb
      http://csscomb.ru/




57
ZenCoding



58
ZenHTML




59
ZenHTML


     div.my1 + div.my2 > ul > li * 5




59
ZenHTML

 <div class='my1'></div>
 <div class='my2'>
  <ul>
    <li></li><li></li><li></li><li></li><li></li>
  </ul>
 </div>


59
ZenCSS
     po:r → position: relative
     po:a → position: absolute
      po:s → position: static
            f:l → float: left
          f:r → float: right



60
ZenCSS



      po:r

61
ZenCSS



      po r

61
ZenCSS
     por → position: relative
     poa → position: absolute
      pos → position: static
          fl → float: left
         fr → float: right



62
HayakuBundle


     po:r + por


63
HayakuBundle

      por;fl;tal;m0




64
HayakuBundle

     position: relative;
     float: left;
     text-align: left;
     margin: 0;

64
HayakuBundle

     margin-left: 10px
     margin-left: 1.1em




65
HayakuBundle

     margin-left: 10px
                   1
     margin-left: 1.1em




65
HayakuBundle

     margin-left: 10px
                   2
     margin-left: 1.1em




65
HayakuBundle
     https://github.com/kizu/Hayaku.tmbundle
       https://twitter.com/#!/HayakuBundle




66
BEM
     https://github.com/bem




67
Олег Мохов
Разработчик интерфейсов
mokhov@yandex-team.ru
twitter: olmokhov

More Related Content

What's hot

Анализ сеток сайтов на основе графов перелинковки
Анализ сеток сайтов на основе графов перелинковкиАнализ сеток сайтов на основе графов перелинковки
Анализ сеток сайтов на основе графов перелинковкиPlaytini
 
13 октября, DEV {web} - конференция о Highload веб-разработке. "Архитектура п...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Архитектура п...13 октября, DEV {web} - конференция о Highload веб-разработке. "Архитектура п...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Архитектура п...IT-Portfolio
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияYandex
 
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ruБаба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ruYandex
 
DOM-шаблонизаторы – не только "быстро"
DOM-шаблонизаторы – не только "быстро"DOM-шаблонизаторы – не только "быстро"
DOM-шаблонизаторы – не только "быстро"Roman Dvornov
 
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...Ontico
 
JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...
JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...
JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...GeeksLab Odessa
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровYandex
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Yandex
 
D2D Pizza JS Илья Беда "Куда мы все катимся?"
D2D Pizza JS Илья Беда "Куда мы все катимся?"D2D Pizza JS Илья Беда "Куда мы все катимся?"
D2D Pizza JS Илья Беда "Куда мы все катимся?"Dev2Dev
 
SPA инструменты
SPA инструментыSPA инструменты
SPA инструментыRoman Dvornov
 
Современный фронтенд за 30 минут.
Современный фронтенд за 30 минут.Современный фронтенд за 30 минут.
Современный фронтенд за 30 минут.Vladimir Malyk
 
Фотострана, Дмитрий Смирнов
Фотострана, Дмитрий СмирновФотострана, Дмитрий Смирнов
Фотострана, Дмитрий СмирновEYevseyeva
 
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...IT-Portfolio
 
Unit-тестирование скриншотами: преодолеваем звуковой барьер
Unit-тестирование скриншотами: преодолеваем звуковой барьерUnit-тестирование скриншотами: преодолеваем звуковой барьер
Unit-тестирование скриншотами: преодолеваем звуковой барьерRoman Dvornov
 
Компонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
Компонентная разработка на Stylus, Jade, Typescript - Леонид ШирмановКомпонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
Компонентная разработка на Stylus, Jade, Typescript - Леонид ШирмановMoscowJS
 
MySQL: чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...
MySQL:  чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...MySQL:  чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...
MySQL: чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...Anastasia Rostova
 
"Фронтенд в Яндексе: сложные сервисы, непростые решения". Елена Джетпыспаева,...
"Фронтенд в Яндексе: сложные сервисы, непростые решения". Елена Джетпыспаева,..."Фронтенд в Яндексе: сложные сервисы, непростые решения". Елена Джетпыспаева,...
"Фронтенд в Яндексе: сложные сервисы, непростые решения". Елена Джетпыспаева,...Yandex
 

What's hot (20)

Анализ сеток сайтов на основе графов перелинковки
Анализ сеток сайтов на основе графов перелинковкиАнализ сеток сайтов на основе графов перелинковки
Анализ сеток сайтов на основе графов перелинковки
 
13 октября, DEV {web} - конференция о Highload веб-разработке. "Архитектура п...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Архитектура п...13 октября, DEV {web} - конференция о Highload веб-разработке. "Архитектура п...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Архитектура п...
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
 
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ruБаба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
 
Little Service in 2h
Little Service in 2hLittle Service in 2h
Little Service in 2h
 
Haritonov
HaritonovHaritonov
Haritonov
 
DOM-шаблонизаторы – не только "быстро"
DOM-шаблонизаторы – не только "быстро"DOM-шаблонизаторы – не только "быстро"
DOM-шаблонизаторы – не только "быстро"
 
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...
 
JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...
JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...
JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
 
D2D Pizza JS Илья Беда "Куда мы все катимся?"
D2D Pizza JS Илья Беда "Куда мы все катимся?"D2D Pizza JS Илья Беда "Куда мы все катимся?"
D2D Pizza JS Илья Беда "Куда мы все катимся?"
 
SPA инструменты
SPA инструментыSPA инструменты
SPA инструменты
 
Современный фронтенд за 30 минут.
Современный фронтенд за 30 минут.Современный фронтенд за 30 минут.
Современный фронтенд за 30 минут.
 
Фотострана, Дмитрий Смирнов
Фотострана, Дмитрий СмирновФотострана, Дмитрий Смирнов
Фотострана, Дмитрий Смирнов
 
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...
 
Unit-тестирование скриншотами: преодолеваем звуковой барьер
Unit-тестирование скриншотами: преодолеваем звуковой барьерUnit-тестирование скриншотами: преодолеваем звуковой барьер
Unit-тестирование скриншотами: преодолеваем звуковой барьер
 
Компонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
Компонентная разработка на Stylus, Jade, Typescript - Леонид ШирмановКомпонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
Компонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
 
MySQL: чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...
MySQL:  чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...MySQL:  чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...
MySQL: чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...
 
"Фронтенд в Яндексе: сложные сервисы, непростые решения". Елена Джетпыспаева,...
"Фронтенд в Яндексе: сложные сервисы, непростые решения". Елена Джетпыспаева,..."Фронтенд в Яндексе: сложные сервисы, непростые решения". Елена Джетпыспаева,...
"Фронтенд в Яндексе: сложные сервисы, непростые решения". Елена Джетпыспаева,...
 

Similar to Олег Мохов "Куда движется вёрстка и верстальщики Яндекса"

Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...Yandex
 
Олег Мохов "О чём ещё говорят верстальщики"
Олег Мохов "О чём ещё говорят верстальщики"Олег Мохов "О чём ещё говорят верстальщики"
Олег Мохов "О чём ещё говорят верстальщики"Yandex
 
CSSO — сжимаем CSS Роман Дворнов, Avito
 CSSO — сжимаем CSS Роман Дворнов, Avito CSSO — сжимаем CSS Роман Дворнов, Avito
CSSO — сжимаем CSS Роман Дворнов, Avitoit-people
 
Олег Мохов "CSS3 фарш"
Олег Мохов "CSS3 фарш"Олег Мохов "CSS3 фарш"
Олег Мохов "CSS3 фарш"Yandex
 
CSSO — сжимаем CSS
CSSO — сжимаем CSSCSSO — сжимаем CSS
CSSO — сжимаем CSSFDConf
 
CSSO — сжимаем CSS (часть 2)
CSSO — сжимаем CSS (часть 2)CSSO — сжимаем CSS (часть 2)
CSSO — сжимаем CSS (часть 2)Roman Dvornov
 
Cовременный станок верстальщика
Cовременный станок верстальщикаCовременный станок верстальщика
Cовременный станок верстальщикаmcslayer
 
Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"Yandex
 
CSSO — минимизируем CSS
 CSSO — минимизируем CSS CSSO — минимизируем CSS
CSSO — минимизируем CSSRoman Dvornov
 
Denis Bugarchev
Denis BugarchevDenis Bugarchev
Denis Bugarchevyaevents
 
Денис Бугарчев "Внедрение идей БЭМ на не-Яндекс проект"
Денис Бугарчев "Внедрение идей БЭМ на не-Яндекс проект"Денис Бугарчев "Внедрение идей БЭМ на не-Яндекс проект"
Денис Бугарчев "Внедрение идей БЭМ на не-Яндекс проект"Yandex
 
Андрей Карпов, Приватные байки от разработчиков анализатора кода
Андрей Карпов, Приватные байки от разработчиков анализатора кодаАндрей Карпов, Приватные байки от разработчиков анализатора кода
Андрей Карпов, Приватные байки от разработчиков анализатора кодаSergey Platonov
 
Наташа Арефьева — Семантика или смерть
Наташа Арефьева — Семантика или смертьНаташа Арефьева — Семантика или смерть
Наташа Арефьева — Семантика или смертьYandex
 
Как сделать Instagram в браузере — Дмитрий Дудин, xbSoftware
Как сделать Instagram в браузере — Дмитрий Дудин, xbSoftwareКак сделать Instagram в браузере — Дмитрий Дудин, xbSoftware
Как сделать Instagram в браузере — Дмитрий Дудин, xbSoftwareYandex
 
Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...
Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...
Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...Yandex
 
CSS-менеджмент в 2016
CSS-менеджмент в 2016CSS-менеджмент в 2016
CSS-менеджмент в 2016Timophy Chaptykov
 
D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"
D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"
D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"Dev2Dev
 
Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Yandex
 
Как я перестал бояться и полюбил SVG -- Руслан Каймаков -- MoscowJS 17
Как я перестал бояться и полюбил SVG -- Руслан Каймаков -- MoscowJS 17Как я перестал бояться и полюбил SVG -- Руслан Каймаков -- MoscowJS 17
Как я перестал бояться и полюбил SVG -- Руслан Каймаков -- MoscowJS 17MoscowJS
 
Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)
Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)
Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)Ontico
 

Similar to Олег Мохов "Куда движется вёрстка и верстальщики Яндекса" (20)

Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
 
Олег Мохов "О чём ещё говорят верстальщики"
Олег Мохов "О чём ещё говорят верстальщики"Олег Мохов "О чём ещё говорят верстальщики"
Олег Мохов "О чём ещё говорят верстальщики"
 
CSSO — сжимаем CSS Роман Дворнов, Avito
 CSSO — сжимаем CSS Роман Дворнов, Avito CSSO — сжимаем CSS Роман Дворнов, Avito
CSSO — сжимаем CSS Роман Дворнов, Avito
 
Олег Мохов "CSS3 фарш"
Олег Мохов "CSS3 фарш"Олег Мохов "CSS3 фарш"
Олег Мохов "CSS3 фарш"
 
CSSO — сжимаем CSS
CSSO — сжимаем CSSCSSO — сжимаем CSS
CSSO — сжимаем CSS
 
CSSO — сжимаем CSS (часть 2)
CSSO — сжимаем CSS (часть 2)CSSO — сжимаем CSS (часть 2)
CSSO — сжимаем CSS (часть 2)
 
Cовременный станок верстальщика
Cовременный станок верстальщикаCовременный станок верстальщика
Cовременный станок верстальщика
 
Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"
 
CSSO — минимизируем CSS
 CSSO — минимизируем CSS CSSO — минимизируем CSS
CSSO — минимизируем CSS
 
Denis Bugarchev
Denis BugarchevDenis Bugarchev
Denis Bugarchev
 
Денис Бугарчев "Внедрение идей БЭМ на не-Яндекс проект"
Денис Бугарчев "Внедрение идей БЭМ на не-Яндекс проект"Денис Бугарчев "Внедрение идей БЭМ на не-Яндекс проект"
Денис Бугарчев "Внедрение идей БЭМ на не-Яндекс проект"
 
Андрей Карпов, Приватные байки от разработчиков анализатора кода
Андрей Карпов, Приватные байки от разработчиков анализатора кодаАндрей Карпов, Приватные байки от разработчиков анализатора кода
Андрей Карпов, Приватные байки от разработчиков анализатора кода
 
Наташа Арефьева — Семантика или смерть
Наташа Арефьева — Семантика или смертьНаташа Арефьева — Семантика или смерть
Наташа Арефьева — Семантика или смерть
 
Как сделать Instagram в браузере — Дмитрий Дудин, xbSoftware
Как сделать Instagram в браузере — Дмитрий Дудин, xbSoftwareКак сделать Instagram в браузере — Дмитрий Дудин, xbSoftware
Как сделать Instagram в браузере — Дмитрий Дудин, xbSoftware
 
Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...
Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...
Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...
 
CSS-менеджмент в 2016
CSS-менеджмент в 2016CSS-менеджмент в 2016
CSS-менеджмент в 2016
 
D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"
D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"
D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"
 
Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"
 
Как я перестал бояться и полюбил SVG -- Руслан Каймаков -- MoscowJS 17
Как я перестал бояться и полюбил SVG -- Руслан Каймаков -- MoscowJS 17Как я перестал бояться и полюбил SVG -- Руслан Каймаков -- MoscowJS 17
Как я перестал бояться и полюбил SVG -- Руслан Каймаков -- MoscowJS 17
 
Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)
Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)
Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)
 

More from Yandex

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksYandex
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Yandex
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаYandex
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаYandex
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Yandex
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Yandex
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Yandex
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Yandex
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Yandex
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Yandex
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Yandex
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Yandex
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Yandex
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Yandex
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Yandex
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Yandex
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Yandex
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Yandex
 
Эталонное описание фильма на основе десятков дубликатов
Эталонное описание фильма на основе десятков дубликатовЭталонное описание фильма на основе десятков дубликатов
Эталонное описание фильма на основе десятков дубликатовYandex
 
Поиск списков в неструктурированных данных
Поиск списков в неструктурированных данныхПоиск списков в неструктурированных данных
Поиск списков в неструктурированных данныхYandex
 

More from Yandex (20)

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of Tanks
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
 
Эталонное описание фильма на основе десятков дубликатов
Эталонное описание фильма на основе десятков дубликатовЭталонное описание фильма на основе десятков дубликатов
Эталонное описание фильма на основе десятков дубликатов
 
Поиск списков в неструктурированных данных
Поиск списков в неструктурированных данныхПоиск списков в неструктурированных данных
Поиск списков в неструктурированных данных
 

Олег Мохов "Куда движется вёрстка и верстальщики Яндекса"

  • 1. Куда движется вёрстка и верстальщики Яндекса. Олег Мохов Разработчик интерфейсов Я.Субботник, Алматы, 15 октября 2011 года
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. 6
  • 11. 6
  • 12. Вышел в 2001 году Очень много проблем и неподдерживаемых решений Доля в рунете 1.7% и продолжает снижаться 6
  • 13. Вышел в 2001 году Очень много проблем и неподдерживаемых решений Доля в рунете 1.7% и продолжает снижаться 6
  • 14. Вышел в 2006 году Проблемы почти те же Доля в рунете 4.7% 7
  • 15. IE8 Firefox 3 10.4% 6.5% 8
  • 17. 10
  • 18. Firefox 7 IE6 10
  • 19. 2011 2001 10
  • 20. 11
  • 22. 4 элемента разные решения в разных ситуациях 11
  • 23. 4 элемента разные решения в разных ситуациях время на внедрить и протестировать 11
  • 24. 4 элемента разные решения в разных ситуациях время на внедрить и протестировать удар по скорости рендеринга 11
  • 25. 12
  • 26. Chrome Firefox Opera IE 13
  • 27. 14
  • 28. CSS3 Не фиксим png24 В разных браузерах может различаться порядок блоков 14
  • 29. FF IE 15
  • 31. нет png24 fix нет уголка FF IE 15
  • 32. border-radius + before: нет png24 fix нет уголка FF IE 15
  • 33. border-radius + before: нет png24 fix нет уголка FF IE 16
  • 34. 17
  • 35. FF IE 18
  • 36. FF IE placeholder 18
  • 37. FF IE placeholder CSS3 градиент 18
  • 38. FF IE placeholder картинка CSS3 градиент 18
  • 39. 19
  • 40. 19
  • 44.
  • 45. 22
  • 46. 23
  • 47. 24
  • 48. 25
  • 49. .example-shadow { position: relative; } 26
  • 50. .example-shadow { position: relative; } .example-shadow:before { position: absolute; top: 0; bottom: 0; left: 0; right: 0; display: block; content: “”; } 27
  • 51. .example-shadow { position: relative; } .example-shadow:before { position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: -1; display: block; content: “”; } 28
  • 52. .example-shadow { position: relative; } .example-shadow:before { position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: -1; display: block; content: “”; box-shadow: 0 0 14px #fff; } 29
  • 53. 30
  • 54. 31
  • 55. 31
  • 56. 32
  • 57. 33
  • 58. 34
  • 59. .b-button {     position: relative;     display: -moz-inline-box;     display: inline-block;          width: 100px;     height: 50px;          background: url(sprite.png) repeat-x; } .b-button:hover {     background-position: 0 100%; } 35
  • 60. .b-button:before, .b-button:after {     position: absolute;     top: 0; bottom: 0;     right: 0; left: 0;     z-index: 1;          content: '';          opacity: 1; transition: opacity 0.2s linear;     background: url(sprite.png) repeat-x; } .b-button:after {     opacity: 0;     background-position: 0 100%; } .b-button:hover:before { opacity: 0 !important; } 36 .b-button:hover:after { opacity: 1 !important; }
  • 62. 38
  • 63. iOS Android 39
  • 64. Подробнее через несколько минут 40
  • 65. Каждый верстальщик Яндекса будет заниматься тачевой вёрсткой 41
  • 68. На сервере • Обфускация 43
  • 69. На сервере • Обфускация • Уменьшение количества запросов к серверу 43
  • 70. На сервере • Обфускация • Уменьшение количества запросов к серверу • Оптимизация картинок 43
  • 71. На сервере • Обфускация • Уменьшение количества запросов к серверу • Оптимизация картинок • Правильные http-заголовки 43
  • 72. На сервере • Обфускация • Уменьшение количества запросов к серверу • Оптимизация картинок • Правильные http-заголовки 43
  • 74. На клиенте • Не использовать каскад 44
  • 75. На клиенте • Не использовать каскад • Не селектить по тегам 44
  • 76. На клиенте • Не использовать каскад • Не селектить по тегам • Растягивать DOM вширь, а не вглубь 44
  • 78. Конкретнее • png24 спрайты с фильтром тормозят в IE 45
  • 79. Конкретнее • png24 спрайты с фильтром тормозят в IE • много селекторов + способны повесить FF 45
  • 80. Конкретнее • png24 спрайты с фильтром тормозят в IE • много селекторов + способны повесить FF • box-shadow inset с шириной > 10px тормозит 45
  • 81. Конкретнее • png24 спрайты с фильтром тормозят в IE • много селекторов + способны повесить FF • box-shadow inset с шириной > 10px тормозит • transition цвета даёт большую нагрузку на процессор 45
  • 82. 46
  • 83. Обнаружили и исследовали 47
  • 84. Исследовали и обнаружили 47
  • 86. Исследование • Влияние CSS-свойств на скорость рендеринга 48
  • 87. Исследование • Влияние CSS-свойств на скорость рендеринга • Влияние сочетаний свойств, комбинации 48
  • 88. Исследование • Влияние CSS-свойств на скорость рендеринга • Влияние сочетаний свойств, комбинации • Исследования скорости рендеринга графики в разных форматах 48
  • 90. Выяснили • CSS3 свойства зачастую сильно быстрее экстра разметки, но не во всех случаях 49
  • 91. Выяснили • CSS3 свойства зачастую сильно быстрее экстра разметки, но не во всех случаях • data:uri картинки рендерятся так же быстро, как и обычные картинки 49
  • 92. Выяснили • CSS3 свойства зачастую сильно быстрее экстра разметки, но не во всех случаях • data:uri картинки рендерятся так же быстро, как и обычные картинки • Псевдоселекторы быстрее с указанием имени элемента (:link → a:link) 49
  • 93. Доклад Михаила Корепанова на Я.Субботнике в Киеве http://video.yandex.ru/users/ya-events/view/275/ 50
  • 95. Куда мы идём? • Новые технологии и graceful degradation 51
  • 96. Куда мы идём? • Новые технологии и graceful degradation • Тачевая вёрстка 51
  • 97. Куда мы идём? • Новые технологии и graceful degradation • Тачевая вёрстка • Ускорение рендеринга 51
  • 98.
  • 101. Группировка CSS-свойств • шрифт • позиционирование • отображение • размеры • таблицы/списки • текст • цвета/эффекты 55
  • 102. .b-switcher__tumbler { width: 33px; height: 13px; margin: 0 5px; display: -moz-inline-box; display: inline-block; vertical-align: middle; text-align: left; border: 1px solid #bbb5b3; background: #a1a1a1; -moz-border-radius: 3px; /* Firefox */ -webkit-border-radius: 3px; /* Safari, Chrome */ border-radius: 3px; -moz-box-shadow: inset -2px 2px 3px 0 #666; /* Firefox */ -webkit-box-shadow: inset -2px 2px 3px 0 #666; /* Safari, Chrome */ box-shadow: inset -2px 2px 3px 0 #666; }
  • 103. CSSComb http://csscomb.ru/ 57
  • 106. ZenHTML div.my1 + div.my2 > ul > li * 5 59
  • 107. ZenHTML <div class='my1'></div> <div class='my2'> <ul> <li></li><li></li><li></li><li></li><li></li> </ul> </div> 59
  • 108. ZenCSS po:r → position: relative po:a → position: absolute po:s → position: static f:l → float: left f:r → float: right 60
  • 109. ZenCSS po:r 61
  • 110. ZenCSS po r 61
  • 111. ZenCSS por → position: relative poa → position: absolute pos → position: static fl → float: left fr → float: right 62
  • 112. HayakuBundle po:r + por 63
  • 113. HayakuBundle por;fl;tal;m0 64
  • 114. HayakuBundle position: relative; float: left; text-align: left; margin: 0; 64
  • 115. HayakuBundle margin-left: 10px margin-left: 1.1em 65
  • 116. HayakuBundle margin-left: 10px 1 margin-left: 1.1em 65
  • 117. HayakuBundle margin-left: 10px 2 margin-left: 1.1em 65
  • 118. HayakuBundle https://github.com/kizu/Hayaku.tmbundle https://twitter.com/#!/HayakuBundle 66
  • 119. BEM https://github.com/bem 67