SlideShare a Scribd company logo
1 of 63
@vvscode
Расскажите
про
приоритет в стилях…
Если к одному элементу одновременно
применяются противоречивые стилевые правила…
Каскадность CSS – это механизм, благодаря которому к
элементу HTML-документа может применяться более чем
одно правило CSS.
Правила могут исходить из различных источников:
• из внешней и внутренней таблицы стилей,
• от механизма наследования,
• от родительских элементов,
• от классов и ID,
• от селектора тега,
• от атрибута style и т. д.
Поскольку в этих случаях часто происходит конфликт
стилей, была создана система приоритетов: в конечном
итоге применяется тот стиль, который исходит от источника
с более высоким приоритетом.
https://www.w3.org/TR/CSS2/cascade.html#cascade
https://www.w3.org/TR/CSS2/cascade.html#cascade
https://www.w3.org/TR/CSS2/cascade.html#cascade
Правила могут приходить из разных источников.
Чтобы в любой ситуации браузер понимал, какое в итоге правило
применять к элементу, и не возникало конфликтов в поведении
разных браузеров, введены некоторые приоритеты.
1. Стиль браузера.
2. Стиль автора.
3. Стиль пользователя.
4. Стиль автора с добавлением !important.
5. Стиль пользователя с добавлением !important.
Стиль браузера
Оформление, которое по умолчанию применяется к элементам веб-
страницы браузером.
Это оформление можно увидеть в случае «голого» HTML, когда к
документу не добавляется никаких стилей.
Например, заголовок страницы, формируемый тегом <H1>, в
большинстве браузеров выводится шрифтом с засечками размером
24 пункта.
Стиль автора
Стиль, который добавляет к документу его разработчик.
• External style sheet
• Internal style sheet
• Inline style
Стиль пользователя
Это стиль, который может включить пользователь сайта через
настройки браузера.
Такой стиль имеет более высокий приоритет и переопределяет
исходное оформление документа.
QUEST
Если у вас с собой компьютер
–
попробуйте найти такие настройки в Chrome / Firefox
QUEST
Вы можете контролировать, что и как показывает
ваш браузер
Всего парочка твиков и сайты будут гораздо
приятнее и функциональнее
UserStyles
+
UserScripts
=
Полный контроль над страницами
в вашем браузере
Зачем вам это нужно?
Accessibility
Не многие знают, но скринридеры обрабатывают
css правила, связанные с разметкой документа.
Устранение фатальных недостатков
Accessibility
Борьба с рекламой
Устранение фатальных недостатков
Accessibility
Кастомизация печати и режима чтения
Устранение фатальных недостатков
Борьба с рекламой
Accessibility
Можно спрятать лишние элементы или детали,
не занимаясь возней с редактированием документа
”Не палиться”
Устранение фатальных недостатков
Борьба с рекламой
Кастомизация печати и режима чтения
Accessibility
Уберите окружение, поменяйте фон и расположение элементов
– и вот вы не на хабре, а в гугл аналитике следите за статистикой
СОСАЕТИ
SOCIETY
СОСАЕТИ
СООБЩЕСТВО
SOCIETY
СОСАЕТИ
Что делать?
Stylish
Stylish
Stylish
Stylebot
Stylebot
Stylebot
http://output.jsbin.com/zoropah/2
Не перебивает inline !important стили
Их тоже можно победить, но это другая история
Эти инструменты
позволяют
сделать из любого сайта
Эти инструменты позволяют сделать из любого сайта
Эти инструменты позволяют сделать из любого сайта

More Related Content

Similar to Стили на пользу пользователю - MinskCSS #1 15 декабря

Основы CSS
Основы CSSОсновы CSS
Основы CSSsneemb
 
Спецкурс 2014, занятие 9 (2 часть). Code conventions and best practices
Спецкурс 2014, занятие 9 (2 часть). Code conventions and best practicesСпецкурс 2014, занятие 9 (2 часть). Code conventions and best practices
Спецкурс 2014, занятие 9 (2 часть). Code conventions and best practices7bits
 
Мировые информационные ресурсы. Лекция 4
Мировые информационные ресурсы. Лекция 4Мировые информационные ресурсы. Лекция 4
Мировые информационные ресурсы. Лекция 4Dmitriy Krukov
 
Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И...
 Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И... Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И...
Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И...Тарасов Константин
 
18. синтаксис css
18. синтаксис css18. синтаксис css
18. синтаксис cssSergei Dubrov
 
презентация 4. введение в css
презентация 4. введение в cssпрезентация 4. введение в css
презентация 4. введение в cssRusov1
 
Bootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPressBootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPressIgor Sazonov
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаYandex
 
Павел Михайлов. Модульная сетка: практика применения
Павел Михайлов. Модульная сетка: практика примененияПавел Михайлов. Модульная сетка: практика применения
Павел Михайлов. Модульная сетка: практика примененияEgor Stremousov
 
Kostin drupalconf-2011-presentation
Kostin drupalconf-2011-presentationKostin drupalconf-2011-presentation
Kostin drupalconf-2011-presentationdrupalconf
 
Безопасность веб-приложений: starter edition
Безопасность веб-приложений: starter editionБезопасность веб-приложений: starter edition
Безопасность веб-приложений: starter editionAndrew Petukhov
 
Отполифиль свой CSS - MinskCSS 2
Отполифиль свой CSS - MinskCSS 2Отполифиль свой CSS - MinskCSS 2
Отполифиль свой CSS - MinskCSS 2Vasiliy Vanchuck
 
Работа со статикой в Django
Работа со статикой в DjangoРабота со статикой в Django
Работа со статикой в DjangoMoscowDjango
 
Компонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
Компонентная разработка на Stylus, Jade, Typescript - Леонид ШирмановКомпонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
Компонентная разработка на Stylus, Jade, Typescript - Леонид ШирмановMoscowJS
 
C# Web. Занятие 01.
C# Web. Занятие 01.C# Web. Занятие 01.
C# Web. Занятие 01.Igor Shkulipa
 
Приёмы верстки страниц с использованием HTML + CSS
Приёмы верстки страниц с использованием HTML + CSSПриёмы верстки страниц с использованием HTML + CSS
Приёмы верстки страниц с использованием HTML + CSSDenis Latushkin
 
Стандарты и соглашения в сложных ООП-приложениях
Стандарты и соглашения в сложных ООП-приложенияхСтандарты и соглашения в сложных ООП-приложениях
Стандарты и соглашения в сложных ООП-приложенияхMagecom Ukraine
 
Основы работы с таблицами стилей CSS
Основы работы с таблицами стилей CSSОсновы работы с таблицами стилей CSS
Основы работы с таблицами стилей CSSDenis Latushkin
 

Similar to Стили на пользу пользователю - MinskCSS #1 15 декабря (20)

Основы CSS
Основы CSSОсновы CSS
Основы CSS
 
Спецкурс 2014, занятие 9 (2 часть). Code conventions and best practices
Спецкурс 2014, занятие 9 (2 часть). Code conventions and best practicesСпецкурс 2014, занятие 9 (2 часть). Code conventions and best practices
Спецкурс 2014, занятие 9 (2 часть). Code conventions and best practices
 
Мировые информационные ресурсы. Лекция 4
Мировые информационные ресурсы. Лекция 4Мировые информационные ресурсы. Лекция 4
Мировые информационные ресурсы. Лекция 4
 
Bootstrap 3
Bootstrap 3Bootstrap 3
Bootstrap 3
 
Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И...
 Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И... Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И...
Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И...
 
18. синтаксис css
18. синтаксис css18. синтаксис css
18. синтаксис css
 
презентация 4. введение в css
презентация 4. введение в cssпрезентация 4. введение в css
презентация 4. введение в css
 
Bootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPressBootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPress
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
 
Павел Михайлов. Модульная сетка: практика применения
Павел Михайлов. Модульная сетка: практика примененияПавел Михайлов. Модульная сетка: практика применения
Павел Михайлов. Модульная сетка: практика применения
 
Kostin drupalconf-2011-presentation
Kostin drupalconf-2011-presentationKostin drupalconf-2011-presentation
Kostin drupalconf-2011-presentation
 
Безопасность веб-приложений: starter edition
Безопасность веб-приложений: starter editionБезопасность веб-приложений: starter edition
Безопасность веб-приложений: starter edition
 
Отполифиль свой CSS - MinskCSS 2
Отполифиль свой CSS - MinskCSS 2Отполифиль свой CSS - MinskCSS 2
Отполифиль свой CSS - MinskCSS 2
 
Работа со статикой в Django
Работа со статикой в DjangoРабота со статикой в Django
Работа со статикой в Django
 
Компонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
Компонентная разработка на Stylus, Jade, Typescript - Леонид ШирмановКомпонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
Компонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
 
Парсим CSS
Парсим CSSПарсим CSS
Парсим CSS
 
C# Web. Занятие 01.
C# Web. Занятие 01.C# Web. Занятие 01.
C# Web. Занятие 01.
 
Приёмы верстки страниц с использованием HTML + CSS
Приёмы верстки страниц с использованием HTML + CSSПриёмы верстки страниц с использованием HTML + CSS
Приёмы верстки страниц с использованием HTML + CSS
 
Стандарты и соглашения в сложных ООП-приложениях
Стандарты и соглашения в сложных ООП-приложенияхСтандарты и соглашения в сложных ООП-приложениях
Стандарты и соглашения в сложных ООП-приложениях
 
Основы работы с таблицами стилей CSS
Основы работы с таблицами стилей CSSОсновы работы с таблицами стилей CSS
Основы работы с таблицами стилей CSS
 

Стили на пользу пользователю - MinskCSS #1 15 декабря

Editor's Notes

  1. Представиться
  2. Начну издалека. Я нечасто работаю со стилями
  3. Но на собеседованиях это спрашивают Однажды У меня неаккуратно спросят про приоритет в стилях
  4. Иногда спрашивают про приоритет в стилях, имяя ввиду специфичность селекторов
  5. И в ответ чаще всего получают рассказ про специфичность и вес селекторов
  6. Хотя тут не мешало бы рассказать про каскадность
  7. Хотя тут не мешало бы рассказать про каскадность
  8. Но рассказывая про каскажность съезжают на специфичность селекторов
  9. При этом каскадирование это прежде всего источник правил
  10. Какие бывают источники стилей
  11. Какие бывают источники стилей по приоритету
  12. Как должно решаться поведение в зависимости от источника
  13. Стиль браузера
  14. Стиль автора – виды стилей от автора документа
  15. Стиль пользователя – то, о чем забывают Но что имеет наибольший приоритет
  16. Об этом помнит даже IE Но не пользователи
  17. Самобытная Опера умерла, а IE не признают браузером
  18. Пользователи не помнят, потому что забыли IE
  19. Пользователи не помнят, потому что забыли IE
  20. К чему это я?
  21. Вы можете контролировать все
  22. Это интересно не только мне ))
  23. Эта идея сплотила людей
  24. У них есть сайт. И то как он выглядит – еще одно подтверждение их веры в то, что люди не должны диктовать вам в какой обертке получать информацию
  25. Статистика форума говорит о том, что жизнь бурлит
  26. Технически – это доопределение embed стилей в конец документа. Отсюда все возможности и ограничения Обратите внимание на !important – он добавляется автоматически
  27. Технически – это доопределение embed стилей в конец документа. Отсюда все возможности и ограничения Обратите внимание на !important – он добавляется автоматически
  28. Технически – это доопределение embed стилей в конец документа. Отсюда все возможности и ограничения Обратите внимание на !important – он добавляется автоматически