Роман Комаров "CSS-препроцессоры: из каменного века — в...

18
Я.Субботник, Санкт-Петербург, 30 июня 2012 года Разработчик интерфейсов Роман Комаров CSS-препроцессоры: из каменного века в будущее

description

Какие возможности предлагают CSS-препроцессоры, в чём различия между Sass, Less и Stylus, на какие грабли можно с ними наступить и какие дополнительные инструменты нужно использовать.

Transcript of Роман Комаров "CSS-препроцессоры: из каменного века — в...

Page 1: Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"

Я.Субботник, Санкт-Петербург, 30 июня 2012 года

Разработчик интерфейсовРоман Комаров

CSS-препроцессоры: из каменного века — в будущее

Page 2: Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"

Зачем?

2

Page 3: Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"

2

Простой CSS — каменный век

Page 4: Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"

4

CSS2.1 CSS3 CSS4HTML

Page 5: Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"

5 CSS-препроцессоры!

Page 6: Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"

CSS-препроцессоры

— Less

— Sass

— Stylus

6

И ещё много разных: CSS Crush, Closure Stylesheets, …

Page 7: Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"

Основные возможности— Раскрытие импортов

— Переменные

— Вычисления

— Условия, циклы и всё такое

— Миксины

— Работа с цветом

— Вложенные селекторы

7

Page 8: Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"

Различия и грабли

8

Page 9: Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"

Миксины

9

— Less:

— Scss:

— Sass:

— Stylus:

или

или

.border-radius(10px);@include border-radius(10px);

+border-radius(10px);border-radius:10px;;border-radius(10px);border-radius 10px;;

Page 10: Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"

Склеивание селекторов

10

.block { height: 10px;

&__element { width: 10px; }}

В Less и Stylus всё ок, можно делать БЭМ:

.block { height: 10px;}.block__element { width: 10px;}

Page 11: Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"

Склеивание селекторов

11

.block { height: 10px;

&__element { width: 10px; }}

В Sass появляется пробел :(

.block { height: 10px;}.block __element { width: 10px;}

Page 12: Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"

Склеивание селекторов

12

Не злоупотребляйте вложенностью

.block &__element     &.block2         .foo &          &:hover

" .foo .block__element.block2:hover

Page 13: Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"

Практическое применение

— Генерация палитр цветов

— Автоматический вертикальный ритм

— Автоматическая подстановка префиксов

13

Page 14: Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"

Подстановка префиксов

14

transition: transform 1s, width 2s linear;

"-webkit-transition: -webkit-transform 1s, width 2s linear; -moz-transition:  -moz-transform 1s, width 2s linear; -o-transition:  -o-transform 1s, width 2s linear; transition:  transform 1s, width 2s linear;

Page 16: Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"

Инструменты

— Вотчеры

— LiveReload

— CodeKit

16

Page 17: Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"

Полезныессылки

17

http://clck.ru/1DOv8