SlideShare a Scribd company logo
SASS & LESS
проблемы css

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

●   переменные
●   области видимости
●   повторы кода в отдельные блоки
сss != <язык программирования>
выход есть
холивар

    LESS                       SASS
●   проще                  ●   больше возможностей
●   поддержка javascript   ●   совместимый с CSS
стоит попробовать оба!
SCSS – диалект SASS
       SASS                           SCSS
 $blue: #3bbfce               $blue: #3bbfce;

 $margin: 16px                $margin: 16px;



 .content-navigation          .content-navigation {

   border-color: $blue           border-color: $blue;

   color: darken($blue, 9%)      color: darken($blue, 9%); }


                              .border {
 .border
                                 padding: $margin / 2;
   padding: $margin / 2
                                 margin: $margin / 2;
   margin: $margin / 2
                                border-color: $blue; }
   border-color: $blue
compass

●   кросcбраузерные стили
●   основа - SASS
базовые возможности
         &
     синтаксис
вложенные условия
                  LESS                                 CSS
 #header {                                  #header h1 {
                                                font-size: 26px;
    h1 {
                                                font-weight: bold;
         font-size: 26px;
                                            }
         font-weight: bold;
                                            #header p {
    }                                           font-size: 12px;

    p { font-size: 12px;                    }

        a { text-decoration: none;          #header p a {
                                                text-decoration: none;
            &:hover { border-width: 1px }
                                            }
        }
                                            #header p a:hover {
    }                                           border-width: 1px;
}                                           }
вложенные условия
             SСSS                      CSS
 #navbar {                      #navbar {
     width: 80%;                   width: 80%;
     height: 23px;                 height: 23px; }
     ul { list-style-type:         #navbar ul {
     none; }
                                      list-style-type:
     li {                             none; }
     float: left;                  #navbar li {

     a { font-weight: bold; }            float:
                                         left; }
     }                             #navbar li a {
 }                                    font-weight:
                                   bold; }
родительские ссылки
        LESS & SCSS                    CSS
 a {                          a {
       color: #ce4dd6;          color: #ce4dd6; }
       &:hover {                a:hover {
          color: #ffb3ff; }         color: #ffb3ff; }
       &:visited {
                                a:visited {
          color: #c458cb; }
                                    color: #c458cb; }
 }
переменные
             LESS              CSS
 @color: #4D926F;     #header {
 #header {                color: #4D926F;
     color: @color;   }
 }                    h2 {
 h2 {                     color: #4D926F;
     color: @color;   }
 }
переменные
             SСSS                      CSS
 $main-color: #ce4dd6;        #navbar {
 $style: solid;                     border-bottom-color:
                                    #ce4dd6;
 #navbar {
                                    border-bottom-style:
     border-bottom: {               solid; }
       color: $main-color;    a {
       style: $style;   } }         color: #ce4dd6;}
 a {                          a:hover {
     color: $main-color;            border-bottom: solid
                                    1px; }
   &:hover { border-bottom:
 $style 1px; }
 }
примеси
               LESS                                CSS
 .rounded-corners (@radius: 5px) {     #header {

     -webkit-border-radius: @radius;     -webkit-border-radius: 5px;
                                         -moz-border-radius: 5px;
     -moz-border-radius: @radius;
                                         -ms-border-radius: 5px;
     -ms-border-radius: @radius;
                                         -o-border-radius: 5px;
     -o-border-radius: @radius;
                                         border-radius: 5px;    }
     border-radius: @radius;           #footer {
 }                                       -webkit-border-radius: 10px;
                                         -moz-border-radius: 10px;

 #header { .rounded-corners; }           -ms-border-radius: 10px;

 #footer { .rounded-corners(10px); }     -o-border-radius: 10px;
                                         border-radius: 10px;    }
примеси
                 SСSS                                       CSS
 @mixin rounded($side, $radius: 10px) {      #navbar li {

     border-#{$side}-radius: $radius;         border-top-radius: 10px;
                                              -moz-border-radius-top: 10px;
     -moz-border-radius-#{$side}: $radius;
                                              -webkit-border-top-radius: 10px; }
   -webkit-border-#{$side}-radius:
                                             #footer {
 $radius;
                                              border-top-radius: 5px;
 }
                                              -moz-border-radius-top: 5px;
                                              -webkit-border-top-radius: 5px; }
 #navbar li { @include rounded(top); }       #sidebar {
 #footer { @include rounded(top, 5px); }      border-left-radius: 8px;

 #sidebar { @include rounded(left, 8px); }    -moz-border-radius-left: 8px;
                                              -webkit-border-left-radius: 8px; }
функции и операторы
                LESS                                 CSS
 @the-border: 1px;                          #header {
 @base-color: #111;
                                                color: #333;
 @red:         #842210;
                                                border-left: 1px;
 #header {
     color: (@base-color * 3);                  border-right: 2px;
     border-left: @the-border;              }
     border-right: (@the-border * 2);       #footer {
 }
                                                color: #114411;
 #footer {
                                              border-color:
     color: (@base-color + #003300);
                                            #7d2717;
     border-color: desaturate(@red, 10%);
                                            }
 }
функции и операторы
           SСSS                        CSS
 $grid-width: 40px;             #sidebar {
 $gutter-width: 10px;             width: 240px; }


 @function grid-width($n) {
   @return $n * $grid-width +
 ($n - 1) * $gutter-width;
 }


 #sidebar { width: grid-
 width(5); }
разные фичи

●   условия
●   циклы
●   перегрузка функций
●   интерполяция переменных
●   функции работы с цветом
●   пространства имен
●   режимы вывода
установка
консоль

●   Node.js
      npm install less
      sudo apt get install node-less

●   Ruby gem
      gem install sass
      gem install compass
модули

●   LESS    http://drupal.org/project/less
●   SASSy   http://drupal.org/project/sassy
●   SASS    http://drupal.org/project/sass
итоги

●   удобно
●   несложно
●   доступно
●   будет в D8
ссылки

●   http://lesscss.org/
●   sass-lang.com
●   http://compass-style.org/
●   http://drupal.org/project/compass
●   http://drupal.org/project/compass
●   http://drupal.org/project/compass
спасибо за внимание!

More Related Content

PDF
SASS & LESS
PDF
LESS and even more. Anton Shubkin.
PPT
The Youth Organization Falanster
PDF
Rules - правила без исключений
PPT
Криптовечеринка 2.0. Сетевая гигиена
PDF
Механизмы взаимодействия. От Зелёной Сети
PPTX
Открытые данные для Беларуси. Состояние и перспективы.
SASS & LESS
LESS and even more. Anton Shubkin.
The Youth Organization Falanster
Rules - правила без исключений
Криптовечеринка 2.0. Сетевая гигиена
Механизмы взаимодействия. От Зелёной Сети
Открытые данные для Беларуси. Состояние и перспективы.

Viewers also liked (14)

PPT
Маладзёжная грамадскае аб'яднанне Фаланстэр. Перадгісторыя і пачатак гісторыі
PPTX
Mesh club. Introduction
PPTX
Альтернативные лицензии в Беларуси
PDF
Помощник велосипедиста 2.0. Как помочь?
PPTX
Крак для копирайта: свободные лицензии
PPT
Криптовечеринка 2.0. Браузеры
PPTX
Мартин Клиим. Open City Data.
PPTX
Инструмент участия
PPT
Пиратское движение в Беларуси
PPT
Drush&drupal. administration
PPTX
Смачная творчасць
PPTX
Электронное участие
PPTX
Творчыя суполкі. 2014-2016
PPT
Криптовечеринка 2.0. HTTPS
Маладзёжная грамадскае аб'яднанне Фаланстэр. Перадгісторыя і пачатак гісторыі
Mesh club. Introduction
Альтернативные лицензии в Беларуси
Помощник велосипедиста 2.0. Как помочь?
Крак для копирайта: свободные лицензии
Криптовечеринка 2.0. Браузеры
Мартин Клиим. Open City Data.
Инструмент участия
Пиратское движение в Беларуси
Drush&drupal. administration
Смачная творчасць
Электронное участие
Творчыя суполкі. 2014-2016
Криптовечеринка 2.0. HTTPS
Ad

Similar to Sass&less на Drupal-слёте (20)

PDF
Андрей Тюпа Оптимизация верстки Sass + Compass framework
PPTX
Css_pres
PDF
Михаил Трошев — CSS: Систематизация базовых знаний
PDF
Css Intro. Vlad Savitsky
PDF
Сергей Сыркин - CSS
PDF
Ваш CSS нас не устраивает, мы придумаем свой / Роман Прудников (2ГИС)
PPT
Trening modul2-conf1-tema5
PPT
Crossbrowser Css layout
PDF
Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"
PDF
Front-end разработка. Compass
PDF
Роман Комаров — «Механизм работы браузера»
PPTX
презентация 4. введение в css
PPTX
17. основы css (cascading style sheets)
PPTX
чернобай т., гайдай ю.
PPTX
Web страницы.язык html
PDF
Ускорение frontend-разработки с помощью Haml, Sass, Compass
PDF
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
PDF
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
PDF
Изучение HTML, CSS, PHP, MySQL
Андрей Тюпа Оптимизация верстки Sass + Compass framework
Css_pres
Михаил Трошев — CSS: Систематизация базовых знаний
Css Intro. Vlad Savitsky
Сергей Сыркин - CSS
Ваш CSS нас не устраивает, мы придумаем свой / Роман Прудников (2ГИС)
Trening modul2-conf1-tema5
Crossbrowser Css layout
Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"
Front-end разработка. Compass
Роман Комаров — «Механизм работы браузера»
презентация 4. введение в css
17. основы css (cascading style sheets)
чернобай т., гайдай ю.
Web страницы.язык html
Ускорение frontend-разработки с помощью Haml, Sass, Compass
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
Изучение HTML, CSS, PHP, MySQL
Ad

More from zabej (20)

PDF
Map of tomorrow. Pecha kucha. 2019
PDF
Data detox. Пазабаўляемся ад таксічных дадзеных
PDF
Культура працы з git i github
PDF
Модуль прыёму ахвяраванняў Doika
PDF
Donation module Doika
PDF
Майстар-клас. Як стварыць лагатып?
PDF
Як эфектыўна працаваць з дызайнерам і скараціць час на дызайн?
PDF
Роль дизайнера в команде
PDF
Как получить дизайн, который понравиться организации?
PDF
Адкрытыя бізнэс-мадэлі на аснове лічбавага агульнага
PDF
Commonification Sharing and Creative Commons. Alexandros Nousias
PPTX
Вікі-летнік 2017. Прэзентацыя ідэі
PDF
Гісторыя Творчых Суполак і планы на 2017 год
PDF
Лічбавая Майстэрня. V.1.1
PDF
Лічбавая Майстэрня
PDF
Прэзентацыя вікідапаможніка, верасень, 2015
PDF
Вікі-дапаможнік. Кіруй ведамі
PDF
Falanster. Presentation of activity. 2015
PDF
Фаланстер. Презентация деятельности. 2015
PDF
Фаланстэр. Прэзентацыя дзейнасці. 2015
Map of tomorrow. Pecha kucha. 2019
Data detox. Пазабаўляемся ад таксічных дадзеных
Культура працы з git i github
Модуль прыёму ахвяраванняў Doika
Donation module Doika
Майстар-клас. Як стварыць лагатып?
Як эфектыўна працаваць з дызайнерам і скараціць час на дызайн?
Роль дизайнера в команде
Как получить дизайн, который понравиться организации?
Адкрытыя бізнэс-мадэлі на аснове лічбавага агульнага
Commonification Sharing and Creative Commons. Alexandros Nousias
Вікі-летнік 2017. Прэзентацыя ідэі
Гісторыя Творчых Суполак і планы на 2017 год
Лічбавая Майстэрня. V.1.1
Лічбавая Майстэрня
Прэзентацыя вікідапаможніка, верасень, 2015
Вікі-дапаможнік. Кіруй ведамі
Falanster. Presentation of activity. 2015
Фаланстер. Презентация деятельности. 2015
Фаланстэр. Прэзентацыя дзейнасці. 2015

Sass&less на Drupal-слёте

  • 2. проблемы css ● структура отсутствует ● нельзя быстро поменять код ● необходимо писать костыли ● производительность
  • 3. методы борьбы ● переменные ● области видимости ● повторы кода в отдельные блоки
  • 4. сss != <язык программирования>
  • 6. холивар LESS SASS ● проще ● больше возможностей ● поддержка javascript ● совместимый с CSS
  • 8. SCSS – диалект SASS SASS SCSS $blue: #3bbfce $blue: #3bbfce; $margin: 16px $margin: 16px; .content-navigation .content-navigation { border-color: $blue border-color: $blue; color: darken($blue, 9%) color: darken($blue, 9%); } .border { .border padding: $margin / 2; padding: $margin / 2 margin: $margin / 2; margin: $margin / 2 border-color: $blue; } border-color: $blue
  • 9. compass ● кросcбраузерные стили ● основа - SASS
  • 11. вложенные условия LESS CSS #header { #header h1 { font-size: 26px; h1 { font-weight: bold; font-size: 26px; } font-weight: bold; #header p { } font-size: 12px; p { font-size: 12px; } a { text-decoration: none; #header p a { text-decoration: none; &:hover { border-width: 1px } } } #header p a:hover { } border-width: 1px; } }
  • 12. вложенные условия SСSS CSS #navbar { #navbar { width: 80%; width: 80%; height: 23px; height: 23px; } ul { list-style-type: #navbar ul { none; } list-style-type: li { none; } float: left; #navbar li { a { font-weight: bold; } float: left; } } #navbar li a { } font-weight: bold; }
  • 13. родительские ссылки LESS & SCSS CSS a { a { color: #ce4dd6; color: #ce4dd6; } &:hover { a:hover { color: #ffb3ff; } color: #ffb3ff; } &:visited { a:visited { color: #c458cb; } color: #c458cb; } }
  • 14. переменные LESS CSS @color: #4D926F; #header { #header { color: #4D926F; color: @color; } } h2 { h2 { color: #4D926F; color: @color; } }
  • 15. переменные SСSS CSS $main-color: #ce4dd6; #navbar { $style: solid; border-bottom-color: #ce4dd6; #navbar { border-bottom-style: border-bottom: { solid; } color: $main-color; a { style: $style; } } color: #ce4dd6;} a { a:hover { color: $main-color; border-bottom: solid 1px; } &:hover { border-bottom: $style 1px; } }
  • 16. примеси LESS CSS .rounded-corners (@radius: 5px) { #header { -webkit-border-radius: @radius; -webkit-border-radius: 5px; -moz-border-radius: 5px; -moz-border-radius: @radius; -ms-border-radius: 5px; -ms-border-radius: @radius; -o-border-radius: 5px; -o-border-radius: @radius; border-radius: 5px; } border-radius: @radius; #footer { } -webkit-border-radius: 10px; -moz-border-radius: 10px; #header { .rounded-corners; } -ms-border-radius: 10px; #footer { .rounded-corners(10px); } -o-border-radius: 10px; border-radius: 10px; }
  • 17. примеси SСSS CSS @mixin rounded($side, $radius: 10px) { #navbar li { border-#{$side}-radius: $radius; border-top-radius: 10px; -moz-border-radius-top: 10px; -moz-border-radius-#{$side}: $radius; -webkit-border-top-radius: 10px; } -webkit-border-#{$side}-radius: #footer { $radius; border-top-radius: 5px; } -moz-border-radius-top: 5px; -webkit-border-top-radius: 5px; } #navbar li { @include rounded(top); } #sidebar { #footer { @include rounded(top, 5px); } border-left-radius: 8px; #sidebar { @include rounded(left, 8px); } -moz-border-radius-left: 8px; -webkit-border-left-radius: 8px; }
  • 18. функции и операторы LESS CSS @the-border: 1px; #header { @base-color: #111; color: #333; @red: #842210; border-left: 1px; #header { color: (@base-color * 3); border-right: 2px; border-left: @the-border; } border-right: (@the-border * 2); #footer { } color: #114411; #footer { border-color: color: (@base-color + #003300); #7d2717; border-color: desaturate(@red, 10%); } }
  • 19. функции и операторы SСSS CSS $grid-width: 40px; #sidebar { $gutter-width: 10px; width: 240px; } @function grid-width($n) { @return $n * $grid-width + ($n - 1) * $gutter-width; } #sidebar { width: grid- width(5); }
  • 20. разные фичи ● условия ● циклы ● перегрузка функций ● интерполяция переменных ● функции работы с цветом ● пространства имен ● режимы вывода
  • 22. консоль ● Node.js npm install less sudo apt get install node-less ● Ruby gem gem install sass gem install compass
  • 23. модули ● LESS http://drupal.org/project/less ● SASSy http://drupal.org/project/sassy ● SASS http://drupal.org/project/sass
  • 24. итоги ● удобно ● несложно ● доступно ● будет в D8
  • 25. ссылки ● http://lesscss.org/ ● sass-lang.com ● http://compass-style.org/ ● http://drupal.org/project/compass ● http://drupal.org/project/compass ● http://drupal.org/project/compass