HTML + CSS › slides › first-semester › ... · Универсальные атрибуты...

150
HTML + CSS Кузнецов Василий 1

Transcript of HTML + CSS › slides › first-semester › ... · Универсальные атрибуты...

Page 1: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

HTML + CSS

Кузнецов Василий

1

Page 2: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

HTML

2

Page 3: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Типичный html<!DOCTYPE html> <html> <head>

<meta charset="utf-8" /> <title>HTML</title> </head> <body> <p> <a href="https://www.w3.org/html/">HTML</a> – это стандартизированный язык разметки документов в Вебе. </p> </body> </html>

3

Page 4: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

HTML-элементы (теги)

<a href="https://www.w3.org/html/">HTML</a>

4

Page 5: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

HTML-элементы (теги)

Открывающий тег

<a href="https://www.w3.org/html/">HTML</a>

5

Page 6: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

HTML-элементы (теги)

Закрывающий тег

<a href="https://www.w3.org/html/">HTML</a>

6

Page 7: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

HTML-элементы (теги)

Атрибут

<a href="https://www.w3.org/html/">HTML</a>

7

Page 8: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

HTML-элементы (теги)

Содержимое

<a href="https://www.w3.org/html/">HTML</a>

8

Page 9: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

HTML-элементы (теги)<!-- Содержит другие теги --> <p> <a href="https://www.w3.org/html/">HTML</a>

– это стандартизированный язык разметки... </p>

<!-- Только текст --> <title>HTML</title>

<!-- Без содержимого --> <img src="../images/cat.png" alt="Кот">

9

Page 10: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Атрибуты<!-- Их может быть несколько --> <input type="button" value="Click me">

<!-- Кавычки необязательны... --> <input type=button value=Click> <!-- ... но для единообразия лучше ставить -->

<!-- Бывают булевы атрибуты без значений --> <input disabled> <!-- То же самое: --> <input disabled="sometext">

10

Page 11: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Универсальные атрибуты

11

Page 12: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Универсальные атрибуты

id – задает уникальный идентификатор элемента

У элемента может быть только один id

<input id="email-input" type="email">

/*В стилях*/ #email-input { width: 100px; }

// Получаем доступ к элементу как к JS объекту по id var email = document.getElementById('email-input');

12

Page 13: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Универсальные атрибуты

class – задает класс элементов, позволяягруппировать их

Список покупок: <ul class="list"> <li class="food">Молоко</li> <li class="food">Хлеб</li> <li class="car">Audi TT</li> <li class="car">Audi Q5</li>

/*В стилях*/ .food { color: blue; } .car { color: red; }

13

Page 14: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Универсальные атрибуты

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

<a class="big red link">Большая красная ссылка</a>

14

Page 15: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Универсальные атрибуты

Можно считать, что id задает класс из одногоэлемента, и для единообразия использовать class

<input id="email-input" type="email">

/*В стилях*/ #email-input { width: 100px }

// Получаем доступ к элементу как к JS объекту по id var email = document.getElementById('email-input'); 15

Page 16: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Универсальные атрибуты

Можно считать, что id задает класс из одногоэлемента, и для единообразия использовать class

<input class="email-input" type="email">

/*В стилях*/ .email-input { width: 100px }

// Получаем доступ к элементу как к JS объекту по классу var email = document.querySelector('.email-input'); 16

Page 17: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Универсальные атрибуты

title – добавляет пояснение к содержимому элемента,которое появляется при наведении

<abbr title="World Wide Web">www</abbr> <p title="application programming interface">API</p>

17

Page 18: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Отображается как: <input type="button">

HTML Entity<p>&copy;</p> <!-- © --> <p>&amp;</p> <!-- & --> <p>&forall;</p> <!-- ∀ -->

<p>&lt;</p> <!-- < --> <p>&nbsp;</p> <!-- Неразрывный пробел(no-break space) --> <p>&#x0221E;</p> <!-- ∞ -->

<!-- &lt; используется для экранирования тегов: --> &lt;input type="button">

18

Page 19: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

HTML-элементы

19

Page 20: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Структура html<!DOCTYPE html> <html> <head>

<meta charset="utf-8" /> <title>HTML</title> </head> <body> <p> <a href="https://www.w3.org/html/">HTML</a> – это стандартизированный язык разметки документов в Вебе. </p> </body> </html>

20

Page 21: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Структура html<!DOCTYPE html> <html> <head>

<meta charset="utf-8" /> <title>HTML</title> </head> <body> <p> <a href="https://www.w3.org/html/">HTML</a> – это стандартизированный язык разметки документов в Вебе. </p> </body> </html>

21

Page 22: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

!DOCTYPE

– директива, которая указывает наспецификацию, по которой был создан документ

Для стандарта HTML5 всегда используется:

Поэтому всегда используем егоОбязательно надо указывать

!DOCTYPE

<!DOCTYPE html>

22

Page 23: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Структура html<!DOCTYPE html> <html> <head> <!-- содержит вспомогательную информацию -->

<meta charset="utf-8" /> <title>HTML</title> </head> <body> <p> <a href="https://www.w3.org/html/">HTML</a> – это стандартизированный язык разметки документов в Вебе. </p> </body> </html>

23

Page 24: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

head

title – задает заголовок страницы, отображаемый вовкладке браузера

<head> <!-- title этой презентации --> <title>HTML + CSS<title> </head>

24

Page 25: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

head

link – описывает связь с внешним документом,например, файлом со стилями или шрифтами

<head> <link href="styles.css"> <!-- media="all/screen/print/speech/braille" --> <link href="print-styles.css" media="print"> <!-- rel – описывает тип связи --> 25

Page 26: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

head

script/style – описывают скрипты/стили

<head> <script src="path/jquery-plugin.js"></script> <style> p { color: red; } </style> </head>

26

Page 27: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

head

script/style могут находиться в body

<body> <script> console.log('Hello!'); </script> <style> p { color: red; } </style> </body>

27

Page 28: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

head

meta – метатеги, предназначенные для браузеров,поисковых систем, соцсетей

Используется в

<head> <meta charset="utf-8"> <!-- name="название" content="значение" --> <meta name="description" content="HTML lecture"> <meta name="author" content="kvas"> </head>

Open Graph 28

Page 29: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Структура html<!DOCTYPE html> <html> <head>

<meta charset="utf-8" /> <title>HTML</title> </head> <body> <!-- содержимое страницы --> <p> <a href="https://www.w3.org/html/">HTML</a> – это стандартизированный язык разметки документов в Вебе. </p> </body> </html>

29

Page 30: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Базовые теги

div – блочный элемент, span – строчный элемент

Несемантично – непонятно, какой элемент что значитЛучше использовать только для добавления стилей

<div> <div><span title="HyperText Markup Language">HTML</span> – это ... </div> <div>Как правило, передаются ... </div> <div>Последнее изменение: 2001-04-23</div> <div>Автор: [email protected]</div> </div>

30

Page 31: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Семантичная верстка<!-- Обозначаем статью --> <article> <!-- Аббревиатура -->

<p><abbr title="HyperText Markup Language">HTML</abbr> – это ... </p> <p>Как правило, передаются ... </p> </article> <!-- Информацию в подвале --> <footer> <!-- Время --> <p>Последнее изменение: <time>2001-04-23</time></p> <!-- И контактную информацию --> <address>Автор: [email protected]</address> </footer>

31

Page 32: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

section/article

aside

header/main/footer

figure и figcaption

h1-h6

nav

...

Семантичные теги

32

Page 33: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Что будет?

Подряд идущие пробельные символы схлапываются в одинпробел

<p> ,--. ,--. ,---. ,------. ,---. | `.' | / O \ | .--. '' .-'

| |'.'| || .-. || '--'.'`. `-. | | | || | | || |\ \ .-' | `--' `--'`--' `--'`--' '--'`-----' </p>

33

Page 34: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

pre(preformatted text)<pre> ,--. ,--. ,---. ,------. ,---. | `.' | / O \ | .--. '' .-'

| |'.'| || .-. || '--'.'`. `-. | | | || | | || |\ \ .-' | `--' `--'`--' `--'`--' '--'`-----' </pre>

34

Page 35: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Теги ul, ol, liСписки

<ol type="I"> <li>Сельдь</li> <li>Хлеб</li> <li>Фрукты: <ul> <li>Бананы</li> <li>Яблоки</li> </ul> </li> <li>Молоко</li> <li>Audi TT</li> </ol>

35

Page 36: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Теги table, thead, tfoot, tbody, th, tr, tdТаблицы

<table border="1" cellspacing="0"> <tr> <td>A 1.1</td> <td>A 1.2</td> <td>A 1.3</td> </tr> <tr> <td>A 2.1</td> <td>A 2.2</td> <td>A 2.3</td> </tr> </table>

36

Page 37: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Объединение ячеекТаблицы

<table border="1" cellspacing="0"> <tr> <!-- горизонтальные ячейки --> <td colspan="2">A 1.1</td> <!-- <td>A 1.2</td> --> <!-- вертикальные ячейки --> <td rowspan="2">A 1.3</td> </tr> <tr> <td>A 2.1</td> <td>A 2.2</td> <!-- <td>A 2.3</td> --> </tr> </table> 37

Page 38: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Форматирование текста:

em - для акцентирования текста

strong – для обозначения важной информации

mark – помечает текст как выделенный

small – для различной уточняющей информации

i – для дополнительного выделения(экспрессивно-эмоциональным)

b – для выделения из окружающего его контекста(ключевые слова в выдержках)

<sub> <sup> <ins> <del>

Для кода: <code> <kbd> <samp> <var> <pre>

Перенос текста: <p> <br> <hr> <wbr>

Цитаты/определения: <abbr> <blockquote> <q> <dfn> <cite> <bdo>

Текстовые элементы

Примеры 38

Page 39: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Ссылки<a href="https://yandex.ru">Yandex</a>

<!-- Открывается в новой вкладке/окне --> <a href="https://yandex.ru" target="_blank">Yandex</a>

<!-- Относительно текущего пути --> <a href="examples/title.html" >Yandex</a> <!-- https://example.ru/01-html-css/examples/title.html -->

<!--Относительно текущего хоста--> <a href="/examples/title.html" >Yandex</a> <!-- https://example.ru/examples/title.html -->

39

Page 40: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Ссылки

Протоколы

<a href="http://images.yandex.ru">По http</a> <a href="//images.yandex.ru">По тому же протоколу</a> <a href="mailto:[email protected]">Написать письмо</a> <a href="skype:kvaser5">Позвонить по скайпу</a> <a href="tel:+79000000000">Позвонить</a>

40

Page 41: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Ссылки

Якоря

<a href="#anchor">ссылка на якорь</a> <article>Много текста...</article> <!-- При нажатии на ссылку перейдем к этому элементу --> <div id="anchor">якорь</div>

41

Page 42: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Картинки

Картинка загрузилась:

Ошибка загрузки:

image of a cute cat

<img src="cat.jpg" title="cat" alt="image of a cute cat">

42

Page 43: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Картинки

Атрибут alt

Используется, если картинку не удалось загрузить

Используется, если загрузка картинок отключенапользователем

Используется скрин-ридерами

Подробнее про alt

43

Page 44: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Размеры картинок

<img src="img/cat.png" width="300"> <img src="img/cat.png" height="300"> <img src="img/cat.png" height="300" width="300">

44

Page 45: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Теги для вставки контента

img

/iframeaudio videotrack

45

Page 46: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

46

Page 47: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Формы<form action="/send-data"> <input type="text" name="name"> <input type="text" name="phone">

<select name="option"> <option selected value="a">A</option> <option value="b">B</option> </select> <textarea name="text" cols="30" rows="10"></textarea> <button>Submit</button> </form>

47

Page 48: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Формы<form action="/send-data"> <input type="text" name="name"> <input type="text" name="phone">

<select name="option"> <option selected value="a">A</option> <option value="b">B</option> </select> <textarea name="text" cols="30" rows="10"></textarea> <button>Submit</button> </form>

48

Page 49: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

input<input type="text"> <!-- Предустановленное значение "Текстовое поле" -->

<input type="text" value="Текстовое поле"> <!-- Отображается "Введите текст", если поле пустое --> <input type="text" placeholder="Введите текст"> <!-- Все символы показываются звездочками --> <input type="password"> <!-- Поле для указания файла --> <input type="file">

49

Page 50: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

input

type="checkbox"/"radio"

<!-- Позволяют выбрать более одного варианта из предложенных --> <input type="checkbox" checked> Хлеб <input type="checkbox"> Молоко <!-- Используются, когда следует выбрать один вариант из нескольких предложенных --> <input type="radio" name="drink"> Вода <input type="radio" name="drink" checked> Сок

50

Page 51: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

input

ДЕМО: Атрибут type в HTML5

Подробнее про type

51

Page 52: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

select<select name="hero"> <option selected>Выберите героя</option> <option value="Чебурашка">Чебурашка</option>

<option value="Крокодил Гена">Крокодил Гена</option> <option value="Шапокляк">Шапокляк</option> <option value="Крыса Лариса">Крыса Лариса</option> </select>

52

Page 53: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

textarea<textarea rows="7" cols="35"

name="text" placeholder="Введите текст" >Текст</textarea>

53

Page 54: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

button<button>Это кнопка</button> <input type="button" value="Тоже кнопка">

<button disabled>Эта кнопка заблокирована</button> <!-- type="button | reset | submit" --> <button type="button">Это кнопка</button>

54

Page 55: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

label<p>Выберите напиток</p> <input type="checkbox" id="water-checkbox">

<!-- Устанавливает связь между определённой меткой и элементом формы --> <label for="water-checkbox">Вода</label> <label><input type="checkbox">Сок</label>

55

Page 56: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Формы<form action="/send-data"> <input type="text" name="name"> <input type="text" name="phone">

<select name="option"> <option selected value="a">A</option> <option value="b">B</option> </select> <textarea name="text" cols="30" rows="10"></textarea> <button>Submit</button> </form>

56

Page 57: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

formСлужит для передачи данных на сервер

name=[значение1]&email=[значение2]&secret=[значение3]

<!-- method – указывает http-метод запроса --> <!-- action - указывает обработчик, к которому обращаются данные формы при их отправке на сервер --> <form method="get" action="/handler"> <input name="name" placeholder="Ваше ФИО"> <input name="email" placeholder="Ваш email" type="email"> <input name="secret" type="hidden" value="secretvalue"> <button type="submit">Отправить</button> <button type="reset">Сбросить</button> </form>

Подробнее про формы57

Page 58: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Валидация

<form method="post"> <input type="text" required placeholder="Как вас зовут?"> <input type="email" placeholder="email" required> <input type="url" placeholder="url" required> <input type="tel" pattern="2-[0-9]{3}-[0-9]{3}" placeholder="2-123-312" required> <button>Отправить</button> <button type="reset">Очистить</button> </form>

58

Page 59: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

ВалидацияОбязательное поле

<form method="post"> <input type="text" required placeholder="Как вас зовут?"> <input type="email" placeholder="email" required> <input type="url" placeholder="url" required> <input type="tel" pattern="2-[0-9]{3}-[0-9]{3}" placeholder="2-123-312" required> <button>Отправить</button> <button type="reset">Очистить</button> </form>

59

Page 60: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

ВалидацияПроверка соответствия типу

<form method="post"> <input type="text" required placeholder="Как вас зовут?"> <input type="email" placeholder="email" required> <input type="url" placeholder="url" required> <input type="tel" pattern="2-[0-9]{3}-[0-9]{3}" placeholder="2-123-312" required> <button>Отправить</button> <button type="reset">Очистить</button> </form>

60

Page 61: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

ВалидацияПроверка соответствия шаблону

<form method="post"> <input type="text" required placeholder="Как вас зовут?"> <input type="email" placeholder="email" required> <input type="url" placeholder="url" required> <input type="tel" pattern="2-[0-9]{3}-[0-9]{3}" placeholder="2-123-312" required> <button>Отправить</button> <button type="reset">Очистить</button> </form>

61

Page 63: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Перерыв

63

Page 64: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

CSS

64

Page 65: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

CSS (каскадные таблицы стилей) - это язык,отвечающий за внешний вид

HTML-документа

65

Page 66: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Добавление стилей к HTML

Определить стили в HTML

<style> .p { color: red; } </style>

66

Page 67: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Добавление стилей к HTML

Отдельным файлом

�web­page │ ├──index.html │ └──index.css     

<!-- index.html --> <head> <link rel="stylesheet" href="./index.css"> </head>

67

Page 68: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Типичный css@import url('https://example.ru/font'); div {

color: white; } .red { background-color: red; } #square { width: 100px; height: 100px; }

68

Page 69: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Типичный css@import url('https://example.ru/font'); div {

color: white; } .red { background-color: red; } #square { width: 100px; height: 100px; }

69

Page 70: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Правилосвойство: значение; /* правило */

70

Page 71: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Типичный css@import url('https://example.ru/font'); div {

color: white; } .red { background-color: red; } #square { width: 100px; height: 100px; }

71

Page 72: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

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

72

Page 73: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Блок объявления стилей/* можно указать набор правил */ селектор { свойство: значение;

свойство: значение; свойство: значение; }

73

Page 74: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Блок объявления стилей/* можно указать набор селекторов для набора правил */ селектор, селектор,

селектор { свойство: значение; свойство: значение; свойство: значение; }

74

Page 75: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Типичный css@import url('https://example.ru/font'); div {

color: white; } .red { background-color: red; } #square { width: 100px; height: 100px; }

75

Page 76: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

@charset – задает кодировку

@import – подключает внешний css-файл

@media

@document

@font-face

@supports

At-правила

76

Page 77: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Селекторы

77

Page 78: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Селектор тегаp { color: red; }

h1 { font-size: 34px; } nav { opacity: .5; }

<h1>Очень важный текст</h1> <nav> <a href="/">Главная</a>

<a href="/profile">Профиль</a> </nav> <img src="/cats.png"> <p>Вот вам яркий пример современных тенденций - реализация намеченных плановых заданий является качественно новой ступенью модели развития!</p>

78

Page 79: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Селектор тегаp { color: red; }

h1 { font-size: 34px; } nav { opacity: .5; }

<h1>Очень важный текст</h1> <nav> <a href="/">Главная</a>

<a href="/profile">Профиль</a> </nav> <img src="/cats.png"> <p>Вот вам яркий пример современных тенденций - реализация намеченных плановых заданий является качественно новой ступенью модели развития!</p>

79

Page 80: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Селектор класса.red { color: red; }

.title { font-size: 34px; } .info { opacity: .5; }

<h1 class="title">Очень важный текст</h1> <nav class="nav"> <a href="/" class="red">Главная</a>

<a href="/profile" class="blue">Профиль</nav> <img src="/cats.png" class="cats"> <p class="info red">Вот вам яркий пример современных тенденций - реализация намеченных плановых заданий является качественно новой ступенью модели развития!</p>

80

Page 81: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Селектор класса.red { color: red; }

.title { font-size: 34px; } .info { opacity: .5; }

<h1 class="title">Очень важный текст</h1> <nav class="nav"> <a href="/" class="red">Главная</a>

<a href="/profile" class="blue">Профиль</nav> <img src="/cats.png" class="cats"> <p class="info red">Вот вам яркий пример современных тенденций - реализация намеченных плановых заданий является качественно новой ступенью модели развития!</p>

81

Page 82: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Селектор идентификатора#red { color: red; }

#title { font-size: 34px; } #info { opacity: .5; }

<h1 id="title">Очень важный текст</h1> <nav id="nav"> <a href="/" id="red">Главная</a>

<a href="/profile" id="blue">Профиль</a</nav> <img src="/cats.png" id="cats"> <p id="info">Вот вам яркий пример современных тенденций - реализация намеченных плановых заданий является качественно новой ступенью модели развития!</p>

82

Page 83: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Селектор идентификатора#red { color: red; }

#title { font-size: 34px; } #info { opacity: .5; }

<h1 id="title">Очень важный текст</h1> <nav id="nav"> <a href="/" id="red">Главная</a>

<a href="/profile" id="blue">Профиль</a</nav> <img src="/cats.png" id="cats"> <p id="info">Вот вам яркий пример современных тенденций - реализация намеченных плановых заданий является качественно новой ступенью модели развития!</p>

83

Page 84: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Универсальный селектор* { font-size: 24px; }

<h1>Очень важный текст</h1> <nav> <a href="/">Главная</a>

<a href="/profile">Профиль</a> </nav> <img src="/cats.png"> <p>Вот вам яркий пример современных тенденций - реализация намеченных плановых заданий является качественно новой ступенью модели развития!</p>

84

Page 85: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Универсальный селектор* { font-size: 24px; }

<h1>Очень важный текст</h1> <nav> <a href="/">Главная</a>

<a href="/profile">Профиль</a> </nav> <img src="/cats.png"> <p>Вот вам яркий пример современных тенденций - реализация намеченных плановых заданий является качественно новой ступенью модели развития!</p>

Стоит использовать с осторожностью

85

Page 86: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

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

/* применится, если атрибут есть */ [href] {

color: red; }

<a href="https://yandex.ru">Яндекс</a> <a>Пустая ссылка</a>

ЯндексПустая ссылка

86

Page 87: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

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

/* применится, если равен "https://yandex.ru" */ [href="https://yandex.ru"] {

color: red; }

<a href="https://yandex.ru">Яндекс</a> <a href="https://google.com">Google</a>

ЯндексGoogle

87

Page 88: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

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

/* применится, если начинается с "https://" */ [href^="https://"] {

color: red; }

<a href="https://yandex.ru">Яндекс</a> <a href="https://google.com">Google</a>

ЯндексGoogle

88

Page 89: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

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

/* применится, если кончается на "yandex.ru" */ [href$="yandex.ru"] {

color: red; }

<a href="https://yandex.ru">Яндекс</a> <a href="https://yandex.ru/maps">Яндекс.Карты</a>

ЯндексЯндекс.Карты

89

Page 90: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

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

/* применится, если содержит на "yandex.ru" */ [href*="yandex.ru"] {

color: red; }

<a href="https://yandex.ru">Яндекс</a> <a href="https://yandex.ru/maps">Яндекс.Карты</a>

ЯндексЯндекс.Карты

90

Page 91: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

:active:any-link

:checked:default:dir():disabled:empty:enabled:first:first-child:first-of-type:fullscreen:focus:hover

:indeterminate:in-range

:invalid:lang():last-child:last-of-type:le�:link:not():nth-child():nth-last-child():nth-last-of-type():nth-of-type():only-child

:only-of-type:optional

:out-of-range:read-only:read-write:required:right:root:scope:target:valid:visited

Псевдоклассы

91

Page 92: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Динамические псевдоклассыa:visited { color: green; } a:focus { color: blue; }

a:hover { color: red; }

<a>Ссылка</a>

Ссылка

92

Page 93: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

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

Неактивный Активный

input:disabled { background: red; }

input:enabled { background: green; }

<input type="text" disabled placeholder="Неактивный"> <input type="text" placeholder="Активный">

93

Page 94: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

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

Поле с валидацией

input:valid { background: green; }

input:invalid { background: red; }

<input type="text" pattern="^[a-zA-Z]*$">

94

Page 95: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Структурные псевдоклассы

:root

:first-child/last-child

:nth-child/nth-last-child(2n+1)

:nth-of-type/nth-last-of-type(-n+4)

:only-child/only-of-type

:empty

95

Page 96: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

:first-child<html> <ul> <li></li> <li></li>

<li> <ul> <li></li> <li></li> </ul> <ul> <li></li> </ul> </li> </ul> <p></p> </html>

96

Page 97: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

:last-child<html> <ul> <li></li> <li></li>

<li> <ul> <li></li> <li></li> </ul> <ul> <li></li> </ul> </li> </ul> <p></p> </html>

97

Page 98: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

:only-child<html> <ul> <li></li> <li></li>

<li> <ul> <li></li> <li></li> </ul> <ul> <li></li> </ul> </li> </ul> <p></p> </html>

98

Page 99: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

:nth-child(2n)<html> <div> <span></span> <em></em>

<div> <em> <span></span> <span></span> </em> <em> <i></i> </em> </div> <span></span> <div></div> </div> <div></div> </html>

99

Page 100: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

div:nth-of-type(2n)<html> <div> <span></span> <em></em>

<div> <em> <span></span> <span></span> </em> <em> <i></i> </em> </div> <span></span> <div></div> </div> <div></div> </html>

100

Page 101: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

li:not(:first-child)<html> <ul> <li></li> <li></li>

<li> <ul> <li></li> <li></li> </ul> <ul> <li></li> </ul> </li> </ul> <p></p> </html>

101

Page 103: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

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

Первая строка Вторая строка

Первая строка Вторая строка

::first-letter { color: red; } ::first-line { color: blue; }

103

Page 104: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Псевдоэлементы<div>::beforeCSS is awesome::after</div>

104

Page 105: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

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

CSS is awesome

«CSS is awesome»

::before, ::after { color: red;

font-weight: bold; } ::before { content: '«'; } ::after { content: '»'; }

105

Page 106: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Комбинацииdiv.info { color: red; } .info.link { color: green; }

a[href].link { opacity: .9; } a.link:hover { color: blue; } #link#big { opacity: .9 }

<a href="/" class="link">На главную</a> <div class="info"> Вот вам яркий пример

современных тенденций - реализация намеченных плановых заданий является качественно новой ступенью модели развития! </div> <div><img src="./cats.png"></div>

106

Page 107: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Комбинацииdiv.info { color: red; } .info.link { color: green; }

a[href].link { opacity: .9; } a.link:hover { color: blue; } #link#big { opacity: .9 }

<a href="/" class="link">На главную</a> <div class="info"> Вот вам яркий пример

современных тенденций - реализация намеченных плановых заданий является качественно новой ступенью модели развития! </div> <div><img src="./cats.png"></div>

107

Page 108: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Комбинацииdiv.info { color: red; } .info.link { color: green; }

a[href].link { opacity: .9; } a.link:hover { color: blue; } #link#big { opacity: .9 }

<a href="/" class="link">На главную</a> <div class="info"> Вот вам яркий пример

современных тенденций - реализация намеченных плановых заданий является качественно новой ступенью модели развития! </div> <div><img src="./cats.png"></div>

108

Page 109: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Комбинацииdiv.info { color: red; } .info.link { color: green; }

a[href].link { opacity: .9; } a.link:hover { color: blue; } #link#big { opacity: .9 }

<a href="/" class="link">На главную</a> <div class="info"> Вот вам яркий пример

современных тенденций - реализация намеченных плановых заданий является качественно новой ступенью модели развития! </div> <div><img src="./cats.png"></div>

109

Page 110: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Комбинации

*Применится при наведении

div.info { color: red; } .info.link { color: green; }

a[href].link { opacity: .9; } a.link:hover { color: blue; } #link#big { opacity: .9 }

<a href="/" class="link">На главную</a> <div class="info"> Вот вам яркий пример

современных тенденций - реализация намеченных плановых заданий является качественно новой ступенью модели развития! </div> <div><img src="./cats.png"></div>

110

Page 111: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Комбинации

*У одного элемента не может быть двух id

div.info { color: red; } .info.link { color: green; }

a[href].link { opacity: .9; } a.link:hover { color: blue; } #link#big { opacity: .9 }

<a href="/" class="link">На главную</a> <div class="info"> Вот вам яркий пример

современных тенденций - реализация намеченных плановых заданий является качественно новой ступенью модели развития! </div> <div><img src="./cats.png"></div>

111

Page 112: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Комбинаторы

div div – потомок

div > div – сынdiv + div – младший братdiv ~ div – младшие братья

112

Page 113: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

ul li<html> <ul> <li></li>

<li></li> <li> <ul> <li></li> <li></li> </ul> <ul> <li></li> </ul> </li> </ul> <p></p> </html> 113

Page 114: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

li li<html> <ul> <li></li>

<li></li> <li> <ul> <li></li> <li></li> </ul> <ul> <li></li> </ul> </li> </ul> <p></p> </html> 114

Page 115: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

html > *<html> <ul> <li></li>

<li></li> <li> <ul> <li></li> <li></li> </ul> <ul> <li></li> </ul> </li> </ul> <p></p> </html> 115

Page 116: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

li:first-child + li<html> <ul> <li></li>

<li></li> <li> <ul> <li></li> <li></li> </ul> <ul> <li></li> </ul> </li> </ul> <p></p> </html> 116

Page 117: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

li:first-child ~ li<html> <ul> <li></li>

<li></li> <li> <ul> <li></li> <li></li> </ul> <ul> <li></li> </ul> </li> </ul> <p></p> </html> 117

Page 118: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Пример

Красный или синий?

<p class="red blue"> Красный или синий? </p>

.blue { color: blue; }

.red { color: red; }

118

Page 119: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Пример

Красный или синий?

<p class="blue red"> Красный или синий? </p>

.blue { color: blue; }

.red { color: red; }

119

Page 120: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Пример

Красный или синий?

<p class="red blue"> Красный или синий? </p>

p.blue { color: blue; }

.red { color: red; }

120

Page 121: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Пример

Красный или синий?

<p class="red blue"> Красный или синий? </p>

html .blue { color: blue; }

.red { color: red; }

121

Page 122: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Пример

Красный или синий?

<p id="red" class="blue"> Красный или синий? </p>

html .blue { color: blue; }

#red { color: red; }

122

Page 123: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

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

123

Page 124: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

идентификаторы

классы

псевдоклассы атрибуты

элементы (теги) псевдоэлементы

универсальный селектор и комбинаторы невлияют на специфичность

124

Page 125: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Применяем высчитанные значения:

1. Каждому HTML-элементу находим соответствующие емуселекторы

2. Сортируем селекторы по специфичности

От менее приоритетных к более приоритетным

Если специфичность совпадает, то раньше тот, которыйвстретился раньше

3. Применяем правила последовательно

125

Page 126: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Специфичностьdiv { /* 0 0 1 */ color: blue; font-weight: bold;

font-size: 12px; } div#id { /* 1 0 1 */ font-size: 15px; } html div { /* 0 0 2 */ color: red; }

126

Page 127: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Специфичностьdiv { /* 0 0 1 */ color: blue; font-weight: bold;

font-size: 12px; } html div { /* 0 0 2 */ color: red; } div#id { /* 1 0 1 */ font-size: 15px; }

127

Page 128: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Специфичностьdiv { color: blue; /* 0 0 1 */ font-weight: bold; /* 0 0 1 */

font-size: 12px; /* 0 0 1 */ } html div { color: red; /* 0 0 2 */ } div#id { font-size: 15px; /* 1 0 1 */ }

128

Page 129: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Специфичностьcolor: blue; /* 0 0 1 */ font-weight: bold; /* 0 0 1 */ font-size: 12px; /* 0 0 1 */

color: red; /* 0 0 2 */ font-size: 15px; /* 1 0 1 */

129

Page 130: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Специфичностьcolor: blue; /* 0 0 1 */ font: 13px Arial; /* 0 0 1 */ font-size: 12px; /* 0 0 1 */

font-weight: bold; /* 0 0 1 */ color: red; /* 0 0 2 */ font-size: 15px; /* 1 0 1 */

130

Page 131: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Атрибут style и !important

1. Атрибут style по умолчанию приоритетнее стилей в CSS

2. Стили в CSS с !important приоритетнее атрибута style

3. Атрибут style с !important приоритетнее всего (на самомделе нет)

<div style="color: blue;"></div>

div { color: green !important;

}

<div style="color: white !important;"></div>

131

Page 132: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Атрибут style и !importantcolor: blue; /* 0 0 1 */ font-weight: bold; /* 0 0 1 */ font-size: 12px; /* 0 0 1 */

font-size: 15px; /* 0 0 1 */ color: red; /* 0 0 2 */ <div style="color: blue;"></div> color: green !important; <div style="color: white !important"></div>

132

Page 133: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Атрибут style и !important

Атрибут style стоит использовать, только если стиливысчитываются динамически

Вместо !important чаще всего можно указать бо́льшуюспецифичность

133

Page 134: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Тренировкаp.class /* 0 1 1 */

.class-1.class-2:first-child /* 0 3 0 */

#id#id /* 2 0 0 */

p.class-1.class-2:nth-child(2n)[href]::after /* 0 4 2 */

134

Page 135: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

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

Некоторые стили применяются не только к целевомуэлементу, но и к его потомкам

Унаследованные стили не имеют специфичности, то естьих всегда перебивает любой селектор

135

Page 136: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

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

Привет, УрФУ

<div> Привет, <abbr title="Уральский федеральный университет"> УрФУ

</abbr> </div>

div { color: red; /* 0 0 1 */ /* abbr { color : red } – нет специфичности */ }

136

Page 137: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

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

Привет, УрФУ

<div> Привет, <abbr title="Уральский федеральный университет"> УрФУ

</abbr> </div>

* { color: blue; /* 0 0 0 */ } div { color: red; /* 0 0 1 */ /* abbr { color : red } – нет специфичности */ }

137

Page 138: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

НаследованиеСтили, которые наследуются ( )

color cursor

direction empty-cells

font-family font-size font-weight font-style font-variant font letter-spacing list-style-type list-style-position list-style-image

list-style line-height quotes text-align text-indent text-transform visibility white-space word-spacing

Подробнее

138

Page 139: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Порядок применения стилей

Стили браузера

Стили пользователя и/или плагинов браузера

Стили страницы

Стили пользователя и/или плагинов браузера с !important

139

Page 140: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Значения свойств

140

Page 141: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Числовые значения

Целые числа (1, 2, 3...)

Дробные числа (.5, 1.5)

Процентные значения (50%)

141

Page 142: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Абсолютные единицы измерения

Миллиметры (mm)

Сантиметры (cm)

Дюймы (in)

Пункты – используется в типографиях, 1 дюйм = 72 пункта (pt)

Пики – 12 пунктов (pc)

Абсолютные единицы удобны при определении CSS для печати. Ввебе же практически не используются

142

Page 143: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Относительные единицы измерения

пикселы (px)

em – зависит от размера шрифта (em)

rem – зависит от размера шрифта корневого элемента (rem)

ex – зависит от высоты символа x в данном шрифте

ch – зависит от ширины символа 0 в данном шрифте

vh/vw – 1/100 высоты и ширины viewport'а соответственно

vmax – 1/100 от максимума между высотой и шириной viewport'а

vmin – 1/100 от минимума между высотой и шириной viewport'а

143

Page 144: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Способы задания цвета

Именованные цвета – red

Функциональный – rgb(255, 0, 0) или rgba(255, 0, 0, 1)

Шестнадцатиричный – #ff0000 или #f00

Шестнадцатиричный с прозрачностью - #ff000000

144

Page 145: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Ещё типы значений

Именованные слова: bold, underline

Комбинации: 1px solid red

Функциональные: url(), attr(), rgb(), calc()

145

Page 146: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Полезные ссылки по CSS

MDN

HTML5BOOKИгра про селекторыСпецифичность через Звездные войны

146

Page 147: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Вопросы?

147

Page 150: HTML + CSS › slides › first-semester › ... · Универсальные атрибуты Можно считать, что id задает класс из одного элемента,

Спасибо!

150