SlideShare a Scribd company logo
CSS
в начале...

Сергей Сыркин
разработчик интерфейсов
Общие понятия
Справочные
    Синтаксис     знания
                             Хаки

3
4
Немного истории




    •   Придуман для разделения представления от данных
    •   Это текстовый формат
    •   Наследование и каскадирование
    •   Первая версия CSS была принята как рекомендация W3C
        17 декабря 1996 года




5
Синтаксис
Синтаксис
    Комментарии:
    /* TODO: причесать */
    h1{color: red; padding:10px; margin :
    0;background:blue}

    button
    {
        cursor: pointer;
    // cursor: hand;
    }




7
Синтаксис
    Селекторы:
    * {...} /* Универсальный селектор */
    div {...} /* Теги */


    .menu {...} /* Класс */
    .menu.main {...} /* Несколько классов */
    #menu {...} /* ID атрибут */


    a[href] {...} /* Атрибут */
    input[id][type=button] {...} /* Теги */




8
Синтаксис
    Группировка селекторов:
    .menu,
    .item,
    #link
    {
        color: blue
    }


    div.b-head-search form#search a[href]
    {
        border: 3px red;
    }


9
Синтаксис
     Вес селекторов:
     <span style="color: red"> <!-- 1,0,0,0 -->


     #foo {}                   /* 0,1,0,0 */
     .bar {}                   /* 0,0,1,0 */
     span[id=foo] {}           /* 0,0,1,0 */
     span {}                   /* 0,0,0,1 */
     * {}                      /* 0,0,0,0 */


     !important                /* повышает приоритет */




10
11
Синтаксис
     Комбинаторы:
     .main .menu {...} /* Выбор любого потомка */
     .main > .menu {...} /* Выбор прямого родителя */
     .menu__one + .menu__two {...} /* Следующий сосед */
     .menu__one ~ .menu__two {...} /* Следующий сосед */




12
Синтаксис
     Ссылки & действия юзера (псевдоклассы):
     :link { color: blue; }
     :visited { color: purple; }

     :active { font-weight: bold; }
     :hover { color: red; }
     :focus { outline: none; }




13
Синтаксис
     Структурные псевдоклассы:
     :first-child
     :last-child
     :nth-child(n)
     :nth-last-child(n)
     :nth-of-type(n)
     ...




14
Синтаксис
     Псевдоклассы состояния:
     :checked
     :enabled
     :disabled




14
Синтаксис
     Псевдоэлементы:
     ::after
     ::before
     ::first-letter
     ::first-line
     ::selection




15
Синтаксис
     Свойства:
     /*
     селектор {
           свойство1: значение;
           свойство2: значение
     }
     */
     div
     {
           font-size: 100%
     }




16
Синтаксис
     Короткая и длинная запись:
     /*   короткая запись   */
     ul   { margin: 0 }
     ul   { margin: 0 1em   }
     ul   { margin: 0 1em   2em }
     ul   { margin: 0 1em   2em 3em }

     /* полная запись */
     ul
     {
         margin-left: 3em;
         margin-right: 1em;
     }




17
Синтаксис
     Размеры:
     width: 100%; /* px, pt, em */
     font-size: 100%; /* px, pt, em */




18
Синтаксис
     Цвет:
     /* keyword */
     color: red;

     /* rgb hex */
     color: #ff0000;
     /* short rgb hex */
     color: #f00;

     /* rgb   dec */
     color:   rgb(255, 0, 0 );
     /* rgb   dec alpha */
     color:   rgba(255, 0, 0, 0.5);

     /* hue, saturation, lightness */
     color: hsl(0, 100%, 100%);
     /* hsl alpha */
     color: hsla(0, 100%, 100%, 0.5);
19
Синтаксис
     Картинки, градиенты:
     background-image: url(img.png);

     background-image:
         url(data:image/png;base64,iVB...gg==);

     background-image:
        linear-gradient( 45deg, blue, red );




20
Синтаксис
     Переходы и анимация:
     transition: all 5s ease 2s;

     animation: ‘slide’ 10s ease 3s 2 alternate;




21
Синтаксис
     Вендорные префиксы:
     -webkit-border-radius:   10px;
      -khtml-border-radius:   10px;
        -moz-border-radius:   10px;
         -ms-border-radius:   10px;
          -o-border-radius:   10px;
             border-radius:   10px;




22
Синтаксис




     @import — внешний файл
     @media — определенный тип устройств
     @namespace — пространство имён документа (xsl)
     @charset — кодировка документы




23
Окружающая среда
Фреймворки
     Resets, Twitter Bootstrap etc.




25
Препроцессоры
     LESS, SESS, Stylus etc




26
Оптимизаторы

     Zen coding, hayaku (http://hayakubundle.com/)
     CSSComb (http://csscomb.ru/)
     CSSO (http://css.github.com/csso/)




27
Справочники


      Спецификация (эту ссылку найдите сами)

      Справочники от создателей браузеров
      (msdn.microsoft.com, developer.mozilla.org)

      Спровочники (caniuse.com, html5please.com)

      Генераторы CSS (colorzilla.com, createcss3.com)


28
Сергей Сыркин

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




     ssyrkin@yandex.ru
     vk.com/id13678305




Спасибо

More Related Content

Viewers also liked (7)

PDF
ITT Tech Deans List Sept 2015 RWS
Rick Sommerfeld
 
PDF
Torretta 2016 n4 Ottbre 2016
La Torretta di Ronco Briantino
 
PDF
Speciale. JND209. Jeppe Stavnsbo Sørensen
Jeppe Stavnsbo
 
PDF
Ben Richardson: How payment innovation can change healthcare
Nuffield Trust
 
PPT
Moblie technology
Naveen Sihag
 
PDF
Open stack overview_20130301
Satoshi Konno
 
PPS
Info on india
Naveen Sihag
 
ITT Tech Deans List Sept 2015 RWS
Rick Sommerfeld
 
Torretta 2016 n4 Ottbre 2016
La Torretta di Ronco Briantino
 
Speciale. JND209. Jeppe Stavnsbo Sørensen
Jeppe Stavnsbo
 
Ben Richardson: How payment innovation can change healthcare
Nuffield Trust
 
Moblie technology
Naveen Sihag
 
Open stack overview_20130301
Satoshi Konno
 
Info on india
Naveen Sihag
 

Similar to Сергей Сыркин - CSS (20)

PDF
Михаил Трошев — CSS: Систематизация базовых знаний
Yandex
 
PPTX
Css_pres
Eugin Baulin
 
PDF
Лекция 4 Client-side
Technosphere1
 
PDF
04 - Web-технологии. CSS - язык описания стилей
Roman Brovko
 
PDF
Лекция #4. Каскадные таблицы стилей
Яковенко Кирилл
 
PDF
Артем Маркушев - HTML & CSS
DataArt
 
PDF
Scino: Front-end [part-1]
SCINO
 
PDF
Виталий Харисов "История создания БЭМ. Кратко, сбивчиво и неполно"
Yandex
 
PDF
Роман Комаров — «Механизм работы браузера»
Yandex
 
PPT
Trening modul2-conf1-tema5
olgaoov
 
PDF
Css Intro. Vlad Savitsky
Vlad Savitsky
 
PPTX
Мировые информационные ресурсы. Лекция 4
Dmitriy Krukov
 
PDF
Основы работы с таблицами стилей CSS
Denis Latushkin
 
PDF
SASS & LESS
Raman Budny
 
PDF
Арсений Форштретер: CSS-селекторы
Yandex
 
PPTX
Web осень 2013 лекция 4
Technopark
 
PPTX
презентация 4. введение в css
Rusov1
 
PDF
LESS and even more. Anton Shubkin.
ADCI Solutions
 
PPT
Верстка_Лекция_3
itc73
 
Михаил Трошев — CSS: Систематизация базовых знаний
Yandex
 
Css_pres
Eugin Baulin
 
Лекция 4 Client-side
Technosphere1
 
04 - Web-технологии. CSS - язык описания стилей
Roman Brovko
 
Лекция #4. Каскадные таблицы стилей
Яковенко Кирилл
 
Артем Маркушев - HTML & CSS
DataArt
 
Scino: Front-end [part-1]
SCINO
 
Виталий Харисов "История создания БЭМ. Кратко, сбивчиво и неполно"
Yandex
 
Роман Комаров — «Механизм работы браузера»
Yandex
 
Trening modul2-conf1-tema5
olgaoov
 
Css Intro. Vlad Savitsky
Vlad Savitsky
 
Мировые информационные ресурсы. Лекция 4
Dmitriy Krukov
 
Основы работы с таблицами стилей CSS
Denis Latushkin
 
SASS & LESS
Raman Budny
 
Арсений Форштретер: CSS-селекторы
Yandex
 
Web осень 2013 лекция 4
Technopark
 
презентация 4. введение в css
Rusov1
 
LESS and even more. Anton Shubkin.
ADCI Solutions
 
Верстка_Лекция_3
itc73
 
Ad

More from Yandex (20)

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

Сергей Сыркин - CSS

  • 3. Справочные Синтаксис знания Хаки 3
  • 4. 4
  • 5. Немного истории • Придуман для разделения представления от данных • Это текстовый формат • Наследование и каскадирование • Первая версия CSS была принята как рекомендация W3C 17 декабря 1996 года 5
  • 7. Синтаксис Комментарии: /* TODO: причесать */ h1{color: red; padding:10px; margin : 0;background:blue} button { cursor: pointer; // cursor: hand; } 7
  • 8. Синтаксис Селекторы: * {...} /* Универсальный селектор */ div {...} /* Теги */ .menu {...} /* Класс */ .menu.main {...} /* Несколько классов */ #menu {...} /* ID атрибут */ a[href] {...} /* Атрибут */ input[id][type=button] {...} /* Теги */ 8
  • 9. Синтаксис Группировка селекторов: .menu, .item, #link { color: blue } div.b-head-search form#search a[href] { border: 3px red; } 9
  • 10. Синтаксис Вес селекторов: <span style="color: red"> <!-- 1,0,0,0 --> #foo {} /* 0,1,0,0 */ .bar {} /* 0,0,1,0 */ span[id=foo] {} /* 0,0,1,0 */ span {} /* 0,0,0,1 */ * {} /* 0,0,0,0 */ !important /* повышает приоритет */ 10
  • 11. 11
  • 12. Синтаксис Комбинаторы: .main .menu {...} /* Выбор любого потомка */ .main > .menu {...} /* Выбор прямого родителя */ .menu__one + .menu__two {...} /* Следующий сосед */ .menu__one ~ .menu__two {...} /* Следующий сосед */ 12
  • 13. Синтаксис Ссылки & действия юзера (псевдоклассы): :link { color: blue; } :visited { color: purple; } :active { font-weight: bold; } :hover { color: red; } :focus { outline: none; } 13
  • 14. Синтаксис Структурные псевдоклассы: :first-child :last-child :nth-child(n) :nth-last-child(n) :nth-of-type(n) ... 14
  • 15. Синтаксис Псевдоклассы состояния: :checked :enabled :disabled 14
  • 16. Синтаксис Псевдоэлементы: ::after ::before ::first-letter ::first-line ::selection 15
  • 17. Синтаксис Свойства: /* селектор { свойство1: значение; свойство2: значение } */ div { font-size: 100% } 16
  • 18. Синтаксис Короткая и длинная запись: /* короткая запись */ ul { margin: 0 } ul { margin: 0 1em } ul { margin: 0 1em 2em } ul { margin: 0 1em 2em 3em } /* полная запись */ ul { margin-left: 3em; margin-right: 1em; } 17
  • 19. Синтаксис Размеры: width: 100%; /* px, pt, em */ font-size: 100%; /* px, pt, em */ 18
  • 20. Синтаксис Цвет: /* keyword */ color: red; /* rgb hex */ color: #ff0000; /* short rgb hex */ color: #f00; /* rgb dec */ color: rgb(255, 0, 0 ); /* rgb dec alpha */ color: rgba(255, 0, 0, 0.5); /* hue, saturation, lightness */ color: hsl(0, 100%, 100%); /* hsl alpha */ color: hsla(0, 100%, 100%, 0.5); 19
  • 21. Синтаксис Картинки, градиенты: background-image: url(img.png); background-image: url(data:image/png;base64,iVB...gg==); background-image: linear-gradient( 45deg, blue, red ); 20
  • 22. Синтаксис Переходы и анимация: transition: all 5s ease 2s; animation: ‘slide’ 10s ease 3s 2 alternate; 21
  • 23. Синтаксис Вендорные префиксы: -webkit-border-radius: 10px; -khtml-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; -o-border-radius: 10px; border-radius: 10px; 22
  • 24. Синтаксис @import — внешний файл @media — определенный тип устройств @namespace — пространство имён документа (xsl) @charset — кодировка документы 23
  • 26. Фреймворки Resets, Twitter Bootstrap etc. 25
  • 27. Препроцессоры LESS, SESS, Stylus etc 26
  • 28. Оптимизаторы Zen coding, hayaku (http://hayakubundle.com/) CSSComb (http://csscomb.ru/) CSSO (http://css.github.com/csso/) 27
  • 29. Справочники Спецификация (эту ссылку найдите сами) Справочники от создателей браузеров (msdn.microsoft.com, developer.mozilla.org) Спровочники (caniuse.com, html5please.com) Генераторы CSS (colorzilla.com, createcss3.com) 28
  • 30. Сергей Сыркин Разработчик интерфейсов [email protected] vk.com/id13678305 Спасибо