03 - Web-технологии. Язык разметки HTMLRoman Brovko1. Основы разметки
2. DOCTYPE
3. Картинки, стили, скрипты и другие ресурсы
4. Блочные и строчные тэги
5. Таблицы и списки
6. Гиперссылки и формы
Лекция #4. Каскадные таблицы стилейЯковенко КириллWeb-программирование
Лекция #4. Каскадные таблицы стилей
Цикл лекций читается в Омском государственном университете им. Ф.М.Достоевского на факультете компьютерных наук.
Лектор: Яковенко Кирилл Сергеевич.
Css Intro. Vlad SavitskyVlad SavitskyЧто такое CSS?
Что такое каскадность?
Как подключаются стили?
Блочная модель.
Правила и селекторы.
Наследование правил CSS.
Как вычисляется вес правил?
Кроссбраузерность.
Bootstrap 3. Адаптивная верстка для WordPressIgor SazonovОсновы и примеры для понимания зачем нужен CSS-фреймворк Bootstrap. Доклад читался в рамках WordPress Meetup #3 в Санкт-Петербурге. Объясняется в чем суть верстки на Bootstrap, зачем он нужен для WordPress, подробно разбирается основы grid (сетки) на Bootstrap чтобы верстать адаптивный дизайн.
Основы работы с таблицами стилей CSSDenis LatushkinВведение в написание стилей. Селекторы, правила, веса селекторов, базовые стилевые свойства, цвета и единицы измерения в CSS
Гуманитарные специальности в IT-индустрииNoveoГуманитарные специальности в IT-индустрии
Анна Астахова, старший аккаунт-менеджер в компании Nоveо.
Noveo — международная IT‑компания. Наши главные офисы разработки ПО находятся в Новосибирске и Санкт-Петербурге, представительства — в Москве, Париже, Лондоне и Сиэтле.
Лекция #4. Каскадные таблицы стилейЯковенко КириллWeb-программирование
Лекция #4. Каскадные таблицы стилей
Цикл лекций читается в Омском государственном университете им. Ф.М.Достоевского на факультете компьютерных наук.
Лектор: Яковенко Кирилл Сергеевич.
Css Intro. Vlad SavitskyVlad SavitskyЧто такое CSS?
Что такое каскадность?
Как подключаются стили?
Блочная модель.
Правила и селекторы.
Наследование правил CSS.
Как вычисляется вес правил?
Кроссбраузерность.
Bootstrap 3. Адаптивная верстка для WordPressIgor SazonovОсновы и примеры для понимания зачем нужен CSS-фреймворк Bootstrap. Доклад читался в рамках WordPress Meetup #3 в Санкт-Петербурге. Объясняется в чем суть верстки на Bootstrap, зачем он нужен для WordPress, подробно разбирается основы grid (сетки) на Bootstrap чтобы верстать адаптивный дизайн.
Основы работы с таблицами стилей CSSDenis LatushkinВведение в написание стилей. Селекторы, правила, веса селекторов, базовые стилевые свойства, цвета и единицы измерения в CSS
Гуманитарные специальности в IT-индустрииNoveoГуманитарные специальности в IT-индустрии
Анна Астахова, старший аккаунт-менеджер в компании Nоveо.
Noveo — международная IT‑компания. Наши главные офисы разработки ПО находятся в Новосибирске и Санкт-Петербурге, представительства — в Москве, Париже, Лондоне и Сиэтле.
5. Комбинирование селекторов
Все <div class=”wrapper”> div.wrapper { ... }
Только <div id=”modal”> div#modal { ... }
Все <a>, имеющие атрибут title a[title] { ... }
Все <a>, атрибут title которых содержит слово show a[title*=”show”] { ... }
Все <a>, title которых содержит show, отделенное пробелом a[title~=”show”] { ... }
Все <a>, title которых начинается с show a[title^=”show”] { ... }
Все <a>, title которых заканчивается на show a[title$=”show”] { ... }
Все <a>, при наведении на них курсора a:hover { ... }
Псевдоэлемент, являющийся первым потомком <a> a::before { ... }
6. Комбинирование селекторов
Все <p>, все <div>: div, p { ... }
Все <p>, являющиеся потомками <div>: div p { ... }
Все <p>, являющиеся прямыми потомками <div>: div > p { ... }
Все потомки <div>: div * { ... }
Все прямыe потомки <div>: div > * { ... }
Каждый <p>, следующий сразу после <div>: div + p { ... }
Все <p>, после <div>: div ~ p { ... }
7. Каскад и специфичность
При одинаковой специфичности, правило, которое находится ниже,
переопределяет все предыдущие:
p { color: red; }
p { color: blue; }
<link rel="stylesheet" href="main.css">
<style>
p {color: red;}
</style>
<link rel="stylesheet" href="main2.css">
8. Какого цвета текст в <p>?
<html>
<head>...</head>
<body>
<div>
<p class="text"> Lorem </p>
</div>
</body>
</html>
.text { color: blue;}
html body div p { color: red;}
10. Расчет специфичности
Универсальный селектор * 0,0,0,0 Псевдокласс :not 0,0,0,0
Элемент, например p 0,0,0,1 Псевдоэлемент, например ::before 0,0,0,1
Класс, например .wrapper 0,0,1,0
Другой псевдокласс, например
:hover
0,0,1,0
Атрибут,
например [title] или [title=”show”]
или [title*=”show”] или
[title~=”show”]
или [title^=”show”] или
[title$=”show”]
0,0,1,0
ID, например #modal 0,1,0,0
Инлайн-стиль <style></style> 1,0,0,0
!important 1,0,0,0,0
11. Пример правила CSS Reset
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr,
acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong,
sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption,
tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer,
header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
12. Пример правил CSS Normalize
html {
font-family: sans-serif; /* 1 */
-ms-text-size-adjust: 100%; /* 2 */
-webkit-text-size-adjust: 100%; /* 2 */
}
body {
margin: 0;
}
21. Псевдоклассы порядка элементов
:first-child и :first-of-type
<div class="block">
<a class="block__element">Link</a>
<a class="block__element">Link</a>
<span class="block__element">Text</span>
<a class="block__element">Link</a>
</div>
.block__element:first-of-type {
color: red;
}
22. Псевдоклассы порядка элементов
:first-child и :first-of-type
<div class="block">
<a class="block__element">Link</a>
<a class="block__element">Link</a>
<span class="block__element">Text</span>
<a class="block__element">Link</a>
</div>
.block__element:first-child {
color: red;
}
23. Псевдоклассы порядка элементов
:last-child и :last-of-type
<div class="block">
<a class="block__element">Link</a>
<a class="block__element">Link</a>
<span class="block__element">Text</span>
<a class="block__element">Link</a>
</div>
.block__element:last-of-type {
color: red;
}
24. Псевдоклассы порядка элементов
:last-child и :last-of-type
<div class="block">
<a class="block__element">Link</a>
<a class="block__element">Link</a>
<span class="block__element">Text</span>
<a class="block__element">Link</a>
</div>
.block__element:last-child {
color: red;
}
25. Псевдоклассы порядка элементов
:only-child и :only-of-type
<div class="block">
<a class="block__element">Link</a>
<a class="block__element">Link</a>
<span class="block__element">Text</span>
<a class="block__element">Link</a>
</div>
<div class="block">
<a class="block__element">Link</a>
</div>
.block__element:only-child {
color: red;
}
26. Псевдоклассы порядка элементов
:only-child и :only-of-type
<div class="block">
<a class="block__element">Link</a>
<a class="block__element">Link</a>
<span class="block__other-element">Text</span>
<a class="block__element">Link</a>
</div>
<div class="block">
<span class="block__element">Link</span>
<span class="block__other-element">Link</span>
</div>
.block__other-element:only-of-type {
color: red;
}
27. <div class="block">
<a class="block__element">Link</a>
<a class="block__element">Link</a>
<span class="block__other-element">Text</span>
<a class="block__element">Link</a>
</div>
.block__element:nth-child(2) {
color: red;
}
.block__element:nth-child(2n) {
color: red;
}
Из всех потомков выбирает
второго. Стили применяются,
если у выбранного потомка есть
класс block__element
Из всех потомков выбирает
каждого второго. Стили
применяются, если у выбранного
потомка есть класс block__element
Псевдоклассы :nth-child() и :nth-of-type()
28. <div class="block">
<a class="block__element">Link</a>
<a class="block__element">Link</a>
<span class="block__other-element">Text</span>
<a class="block__element">Link</a>
</div>
.block__other-element:nth-child(3n) {
color: red;
}
.block__element:nth-child(3n+1) {
color: red;
}
Из всех потомков выбирает каждого
третьего. Стили применяются, если у
выбранного потомка есть класс
block__other-element
Начиная с первого потомка, выбирает
из всех каждого третьего. Стили
применяются, если у выбранного
потомка есть класс block__element
Псевдоклассы :nth-child() и :nth-of-type()
29. Из всех потомков выбирает
нечетные. Стили применяются,
если у выбранного потомка есть
класс block__element
Из всех потомков выбирает
четные. Стили применяются, если
у выбранного потомка есть класс
block__element
<div class="block">
<a class="block__element">Link</a>
<a class="block__element">Link</a>
<span class="block__other-element">Text</span>
<a class="block__element">Link</a>
</div>
.block__element:nth-child(odd) {
color: red;
}
.block__element:nth-child(even) {
color: red;
}
Псевдоклассы :nth-child() и :nth-of-type()
30. <div class="block">
<a class="block__element">Link</a>
<a class="block__element">Link</a>
<span class="block__other-element">Text</span>
<a class="block__element">Link</a>
<span class="block__other-element">Text</span>
</div>
.block__element:nth-child(3) {
color: red;
}
.block__element:nth-of-type(3) {
color: red;
}
Псевдоклассы :nth-child() и :nth-of-type()
Из всех потомков выбирает третьего.
Стили применяются, если у выбранного
потомка есть класс block__element
Так как block__element - это тег <a>,
выбирает третьего потомка среди
потомков с тегом <a>. Стили
применяются, если у выбранного потомка
есть класс block__element
31. Псевдоклассы порядка элементов
:nth-last-child() и :nth-last-of-type()
<div class="block">
<a class="block__element">Link</a>
<a class="block__element">Link</a>
<a class="block__element">Link</a>
<span class="block__other-element">Text</span>
<a class="block__element">Link</a>
<a class="block__element">Link</a>
</div>
.block__element:nth-last-child (3n) {
color: red;
}
Счет начинается с конца.
Выбирает каждого третьего
потомка. Стили применяются,
если у выбранного потомка
есть класс block__element.
Так как <span> имеет другой
класс, его цвет не изменяется
32. Псевдоклассы порядка элементов
:nth-last-child() и :nth-last-of-type()
<div class="block">
<a class="block__element">Link</a>
<a class="block__element">Link</a>
<a class="block__element">Link</a>
<span class="block__other-element">Text</span>
<a class="block__element">Link</a>
<a class="block__element">Link</a>
</div>
.block__other-element:nth-last-child (4) {
color: red;
}
Счет начинается с конца.
Выбирает четвертого потомка.
Стили применяются, если у
выбранного потомка есть класс
block__other-element.
33. Псевдоклассы порядка элементов
:nth-last-child() и :nth-last-of-type()
<div class="block">
<a class="block__element">Link</a>
<a class="block__element">Link</a>
<a class="block__element">Link</a>
<span class="block__other-element">Text</span>
<a class="block__element">Link</a>
<a class="block__element">Link</a>
</div>
.block__element:nth-last-of-type(3) {
color: red;
}
Счет начинается с конца.
Так как block__element -
это тег <a>, выбирает
третьего потомка среди
потомков с тегом <a>.
Стили применяются, если
у выбранного потомка
есть класс block__element
34. Другие псевдоклассы
:empty - выбирает пустые теги
:not() - выбирает теги за исключением тегов с
селектором в скобках
:lang() - выбирает теги по указанному языку
:root = html, но специфичность выше
:target - используется для стилизации цели “якоря”
35. Другие псевдоклассы - :empty
<div class="block">
<div class="block__element">This is element</div>
</div>
<div class="block">This is block</div>
<div class="block"></div>
.block {
width: 100px;
height: 50px;
}
.block:empty {
background: orange;
}
36. Другие псевдоклассы - :not()
<div class="block">
<div class="block__element">This is element</div>
</div>
<div class="block">This is block</div>
<div class="block"></div>
.block {
width: 100px;
height: 50px;
}
.block:not(:empty) {
background: orange;
}