Язык СSS. Введение

Содержание

Слайд 3

Причины появления CSS:

Избыточность HTML. HTML стал нести слишком много информации, кроме как

Причины появления CSS: Избыточность HTML. HTML стал нести слишком много информации, кроме
про разметку документа.
Желание большего числа возможностей для оформления. Это еще больше раздувало HTML разметку.
Упрощение оформление страницы.
Желание избежать копирования одних и тех же тегов и атрибутов для создания одинакового оформления.
Отделение контента страницы от его представления.

Слайд 4

С появлением CSS упомянутый выше код можно переписать в следующем виде

С появлением CSS упомянутый выше код можно переписать в следующем виде

Слайд 5

CSS — язык стилей, определяющий отображение HTML (и других) документов.
CSS работает со

CSS — язык стилей, определяющий отображение HTML (и других) документов. CSS работает
шрифтами, цветом, полями, строками, высотой, шириной, фоновыми изображениями, позиционированием элементов и многими другими вещами.
CSS уровень 1 (1996, 1999) – параметры шрифтов, цвета, ...
CSS уровень 2 (12 мая 1998) – блочная вёрстка, селекторы, …
CSS уровень 2.1 (07 июня 2011)
CSS уровней 3 все еще находится в стадии разработки – трансформации, анимация, ...

Слайд 6

Подключение CSS
Файл со стилями должен иметь расширение .css. Чтобы подключить такой файл к

Подключение CSS Файл со стилями должен иметь расширение .css. Чтобы подключить такой
HTML странице, в теге  следует написать такую конструкцию:

Слайд 7

Синтаксис CSS

Каждое правило CSS состоит из двух частей: селектора и блока объявлений:
селектор

Синтаксис CSS Каждое правило CSS состоит из двух частей: селектора и блока

правило 
}

Слайд 8

Синтаксис CSS

Каждое правило CSS состоит из двух частей: селектора и блока объявлений:
селектор

Синтаксис CSS Каждое правило CSS состоит из двух частей: селектора и блока

правило 
}
селектор, селектор, селектор { 
/* блок объявления стилей */ 
свойство: значение; 
свойство: значение; 
свойство: значение; 
свойство: значение; 
свойство: значение; 
}

Слайд 9

Основные ошибки при написании CSS

Основные ошибки при написании CSS

Слайд 10

Селекторы тегов, классов и идентификаторов
Селекторы тегов записываются как имена тегов. Поэтому селектор, который

Селекторы тегов, классов и идентификаторов Селекторы тегов записываются как имена тегов. Поэтому
выделяет все заголовки первого уровня выглядит просто как «h1».

Слайд 11

Селекторы классов

Этот элемент принадлежит двум классам: heading и red. Чтобы стилизовать этот элемент, в CSS

Селекторы классов Этот элемент принадлежит двум классам: heading и red. Чтобы стилизовать
следует записать: 

Слайд 12

Селекторы классов

Этот элемент принадлежит двум классам: heading и red. Чтобы стилизовать этот элемент, в CSS

Селекторы классов Этот элемент принадлежит двум классам: heading и red. Чтобы стилизовать
следует записать: 

Слайд 13

Селекторы идентификаторов

Селекторы идентификаторов задаются с помощью символа решетки, после которого идет значение

Селекторы идентификаторов Селекторы идентификаторов задаются с помощью символа решетки, после которого идет
атрибута id. 
Так, например, следующий код не будет работать:

Слайд 14

Селекторы идентификаторов

Селекторы идентификаторов задаются с помощью символа решетки, после которого идет значение

Селекторы идентификаторов Селекторы идентификаторов задаются с помощью символа решетки, после которого идет
атрибута id. 

Рабочий пример: 

Слайд 15

Универсальный селектор

Универсальный селектор

Слайд 16

Комбинирование селектора тега и селектора класса (или нескольких селекторов класса):
Комбинирование селектора тега

Комбинирование селектора тега и селектора класса (или нескольких селекторов класса): Комбинирование селектора
и селектора идентификатора:
Комбинирование селектора тега, селектора идентификатора и селектора класса:
Можно даже комбинировать два селектора идентификатора, но это не имеет смысла:
Также можно комбинировать универсальный селектор с любым селектором, но такая запись считается избыточной: эти два примера дадут одинаковый результат, и * можно опустить:

Слайд 17

Селекторы атрибутов

Например, можно выделить все элементы, которые содержат определенный атрибут:

Селекторы атрибутов Например, можно выделить все элементы, которые содержат определенный атрибут:

Слайд 18

Динамические псевдоклассы 

Псевдоклассы — такие селекторы, которые позволяют выбрать элементы в зависимости от их состояния.
Псевдоклассы состояния

Динамические псевдоклассы Псевдоклассы — такие селекторы, которые позволяют выбрать элементы в зависимости
ссылок:

Слайд 19

Динамические псевдоклассы 
:enabled и :disabled позволяют выбирать элементы в зависимости от их доступности для

Динамические псевдоклассы :enabled и :disabled позволяют выбирать элементы в зависимости от их
взаимодействия с пользователем. 
:checked позволяет выбрать все элементы, в которых есть атрибут checked. 
:indeterminate соответствует неопределенному состоянию checkbox’ов. 
:read-only позволяет выбрать элементы с атрибутом ”только для чтения”. 
:valid позволяет выбрать валидные элементы форм.

Слайд 20

Структурные псевдоклассы
:root выбирает корневой элемент HTML-документа 
:first-child/:last-child выбирают первый или последний дочерний элемент. 
:nth-child/:nth-last-child(2n+1) позволяют выбрать n-ый элемент

Структурные псевдоклассы :root выбирает корневой элемент HTML-документа :first-child/:last-child выбирают первый или последний
или nый элемент с конца. 
:nth-of-type/:nth-last-of-type(-n+4)
:only-child/:only-of-type выбирает элемент, который является единственным дочерним для своего родительского элемента, или единственным данного типа. 
:empty выбирает пустые элементы.

Слайд 21

 Рассмотрим следующую структуру HTML документа:

Рассмотрим следующую структуру HTML документа:

Слайд 22

В результате применения селектора :first-child будут выделены следующие элементы:

В результате применения селектора :first-child будут выделены следующие элементы:

Слайд 23

А в результате применения :only-child

А в результате применения :only-child

Слайд 24

Результат применения селектора :nth-child(2n), который выбирает четные дочерние элементы, имеет вид:

Результат применения селектора :nth-child(2n), который выбирает четные дочерние элементы, имеет вид:

Слайд 25

При применении селектора :nth-of-type типом считается часть селектора до двоеточия. Результат применения div:nth-child(2n):

При применении селектора :nth-of-type типом считается часть селектора до двоеточия. Результат применения div:nth-child(2n):

Слайд 26

Псевдоэлементы

::first-letter который выделяет первую букву текста:
::first-line который выделяет первую строку текста:
::before, ::after выделяют создаваемые в

Псевдоэлементы ::first-letter который выделяет первую букву текста: ::first-line который выделяет первую строку
структуре документа элементы сразу после открывающего тега и сразу до закрывающего соответственно.

Слайд 27

Отношения элементов в CSS

Рассмотрим для примера следующий код:

Отношения элементов в CSS Рассмотрим для примера следующий код:

Слайд 28

Селектор потомков (контекстный селектор)

Селектор потомков (контекстный селектор)

Слайд 29

Селектор потомков

Селектор потомков не обязательно должен состоять из двух селекторов тегов -

Селектор потомков Селектор потомков не обязательно должен состоять из двух селекторов тегов
их может быть любое количество, записанное через пробел.

Слайд 30

Дочерний селектор

Пусть у нас есть следующий код:

Пусть мы хотим выбрать все теги

Дочерний селектор Пусть у нас есть следующий код: Пусть мы хотим выбрать
i, являющиеся потомками абзацев.

Слайд 31

Дочерний селектор

Давайте теперь выберем те теги i, которые являются непосредственными потомками наших

Дочерний селектор Давайте теперь выберем те теги i, которые являются непосредственными потомками
абзацев. В этом нам поможет дочерний селектор >.

Слайд 32

Соседний селектор

Контекстные селекторы используются для вложенных друг в друга элементов, а соседние

Соседний селектор Контекстные селекторы используются для вложенных друг в друга элементов, а
селекторы для расположенных рядом.
Соседние селекторы записываются с помощью знака +.

Слайд 33

Соседний селектор

Селектор  .a+li , а также li+.b , или даже li+li тоже применит стили к

Соседний селектор Селектор .a+li , а также li+.b , или даже li+li
элементу с классом b, т.е. ко второму элементу списка.
А вот селектор .b+.a не сработает, т.е. элемент с классом b находится после элемента с классом a в разметке.
Селектор  .c .a+.b сработает для тега с классом b, если сразу перед ним расположен тег с классом a и оба тега расположены внутри тега с классом с.

Слайд 34

Сестринский селектор

Этот селектор похож на соседний селектор, но он менее строгий. Соседний

Сестринский селектор Этот селектор похож на соседний селектор, но он менее строгий.
селектор выберет только первый элемент, следующий сразу же за указанным элементом. 
Селектор селектор1 ~ селектор2 выберет все элементы, подходящие под селектор2, расположенные после элемента селектор1.
Представим, что вам нужно сделать наклонный шрифт для всех абзацев 

, которые идут после заголовка 

. Код CSS будет выглядеть так:

Слайд 35

Специфичность

Пусть дан следующий CSS файл:
Для одного и того же элемента сначала задается

Специфичность Пусть дан следующий CSS файл: Для одного и того же элемента
красный цвет, а потом синий. В результате цвет будет выбран синий. 

Слайд 36

Специфичность

Пусть теперь дан другой CSS код:

Специфичность Пусть теперь дан другой CSS код:

Слайд 37

Специфичность

Считается специфичность следующим образом: 
• Первое число — количество селекторов по идентификатору. 
• Второе

Специфичность Считается специфичность следующим образом: • Первое число — количество селекторов по
число — количество селекторов классов, псевдоклассов (кроме :not) или по атрибуту. 
• Третье число — количество селекторов элементов (тегов) или псевдоэлементов 

Слайд 38

Специфичность

Специфичность

Слайд 39

Приоритет правил

Инлайн — это способ указать стили непосредственно внутри HTML элемента:
Ключевое свойство !important используется

Приоритет правил Инлайн — это способ указать стили непосредственно внутри HTML элемента:
внутри значения объявления, которое повышает приоритет данного объявления:
Также можно указать !important внутри инлайн стилей:

Слайд 40

Специфичность
Инлайн стили по умолчанию приоритетнее стилей в CSS.
Стили в CSS с !important приоритетнее инлайн стилей. 
Инлайн стили

Специфичность Инлайн стили по умолчанию приоритетнее стилей в CSS. Стили в CSS
с !important приоритетнее всего.

Слайд 41

Наследование стилей

Пусть даны следующий CSS код и HTML разметка:

Наследование стилей Пусть даны следующий CSS код и HTML разметка:

Слайд 42

Наследование стилей

Наследование стилей

Слайд 43

Наследование стилей

Наследуемые стили:

Наследование стилей Наследуемые стили: