Кузнецов Василий
<!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>
<a href="https://www.w3.org/html/">HTML</a>
<a href="https://www.w3.org/html/">HTML</a>
<a href="https://www.w3.org/html/">HTML</a>
<a href="https://www.w3.org/html/">HTML</a>
<a href="https://www.w3.org/html/">HTML</a>
<!-- Содержит другие теги -->
<p>
<a href="https://www.w3.org/html/">HTML</a>
– это стандартизированный язык разметки...
</p>
<!-- Только текст -->
<title>HTML</title>
<!-- Без содержимого -->
<img src="../images/cat.png" alt="Кот">
<!-- Их может быть несколько -->
<input type="button" value="Click me">
<!-- Кавычки необязательны... -->
<input type=button value=Click>
<!-- ... но для единообразия лучше ставить -->
<!-- Бывают булевы атрибуты без значений -->
<input disabled>
<!-- То же самое: -->
<input disabled="sometext">
<input id="email-input" type="email">
/*В стилях*/
#email-input { width: 100px; }
// Получаем доступ к элементу как к JS объекту по id
var email = document.getElementById('email-input');
<a class="big red link">Большая красная ссылка</a>
<input id="email-input" type="email">
/*В стилях*/
#email-input { width: 100px }
// Получаем доступ к элементу как к JS объекту по id
var email = document.getElementById('email-input');
<input class="email-input" type="email">
/*В стилях*/
.email-input { width: 100px }
// Получаем доступ к элементу как к JS объекту по классу
var email = document.querySelector('.email-input');
<abbr title="World Wide Web">www</abbr>
<p title="application programming interface">API</p>
<p>©</p> <!-- © -->
<p>&</p> <!-- & -->
<p>∀</p> <!-- ∀ -->
<p><</p> <!-- < -->
<p> </p> <!-- Неразрывный пробел(no-break space) -->
<p>∞</p> <!-- ∞ -->
<!-- < используется для экранирования тегов: -->
<input type="button">
<!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>
<!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>
<!DOCTYPE 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>
<head>
<!-- title этой презентации -->
<title>HTML + CSS<title>
</head>
<head>
<link href="styles.css">
<!-- media="all/screen/print/speech/braille" -->
<link href="print-styles.css" media="print">
<!-- rel – описывает тип связи -->
<link rel="shortcut icon" href="favicon.ico">
</head>
<head>
<script src="path/jquery-plugin.js"></script>
<style>
p {
color: red;
}
</style>
</head>
<body>
<script>
console.log('Hello!');
</script>
<style>
p {
color: red;
}
</style>
</body>
<head>
<meta charset="utf-8">
<!-- name="название" content="значение" -->
<meta name="description" content="HTML lecture">
<meta name="author" content="kvas">
</head>
<!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>
<div>
<div><span title="HyperText Markup Language">HTML</span>
– это ... </div>
<div>Как правило, передаются ... </div>
<div>Последнее изменение: 2001-04-23</div>
<div>Автор: someone@example.com</div>
</div>
<!-- Обозначаем статью -->
<article>
<!-- Аббревиатура -->
<p><abbr title="HyperText Markup Language">HTML</abbr>
– это ... </p>
<p>Как правило, передаются ... </p>
</article>
<!-- Информацию в подвале -->
<footer>
<!-- Время -->
<p>Последнее изменение: <time>2001-04-23</time></p>
<!-- И контактную информацию -->
<address>Автор: someone@example.com</address>
</footer>
<p>
,--. ,--. ,---. ,------. ,---.
| `.' | / O \ | .--. '' .-'
| |'.'| || .-. || '--'.'`. `-.
| | | || | | || |\ \ .-' |
`--' `--'`--' `--'`--' '--'`-----'
</p>
<pre>
,--. ,--. ,---. ,------. ,---.
| `.' | / O \ | .--. '' .-'
| |'.'| || .-. || '--'.'`. `-.
| | | || | | || |\ \ .-' |
`--' `--'`--' `--'`--' '--'`-----'
</pre>
<ol type="I">
<li>Сельдь</li>
<li>Хлеб</li>
<li>Фрукты:
<ul>
<li>Бананы</li>
<li>Яблоки</li>
</ul>
</li>
<li>Молоко</li>
<li>Audi TT</li>
</ol>
<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>
<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>
<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 -->
Подробнее про URL
<a href="http://images.yandex.ru">По http</a>
<a href="//images.yandex.ru">По тому же протоколу</a>
<a href="mailto:kvas@yandex-team.ru">Написать письмо</a>
<a href="skype:kvaser5">Позвонить по скайпу</a>
<a href="tel:+79000000000">Позвонить</a>
<a href="#anchor">ссылка на якорь</a>
<article>Много текста...</article>
<!-- При нажатии на ссылку перейдем к этому элементу -->
<div id="anchor">якорь</div>
<img src="cat.jpg" title="cat" alt="image of a cute cat">
<img src="img/cat.png" width="300">
<img src="img/cat.png" height="300">
<img src="img/cat.png" height="300" width="300">
<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>
<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>
<input type="text">
<!-- Предустановленное значение "Текстовое поле" -->
<input type="text" value="Текстовое поле">
<!-- Отображается "Введите текст", если поле пустое -->
<input type="text" placeholder="Введите текст">
<!-- Все символы показываются звездочками -->
<input type="password">
<!-- Поле для указания файла -->
<input type="file">
<!-- Позволяют выбрать более одного
варианта из предложенных -->
<input type="checkbox" checked> Хлеб
<input type="checkbox"> Молоко
<!-- Используются, когда следует выбрать
один вариант из нескольких предложенных -->
<input type="radio" name="drink"> Вода
<input type="radio" name="drink" checked> Сок
<select name="hero">
<option selected>Выберите героя</option>
<option value="Чебурашка">Чебурашка</option>
<option value="Крокодил Гена">Крокодил Гена</option>
<option value="Шапокляк">Шапокляк</option>
<option value="Крыса Лариса">Крыса Лариса</option>
</select>
<textarea
rows="7"
cols="35"
name="text"
placeholder="Введите текст"
>Текст</textarea>
<button>Это кнопка</button>
<input type="button" value="Тоже кнопка">
<button disabled>Эта кнопка заблокирована</button>
<!-- type="button | reset | submit" -->
<button type="button">Это кнопка</button>
<p>Выберите напиток</p>
<input type="checkbox" id="water-checkbox">
<!-- Устанавливает связь между определённой меткой и
элементом формы -->
<label for="water-checkbox">Вода</label>
<label><input type="checkbox">Сок</label>
<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>
<!-- 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>
<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>
<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>
<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>
<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>
CSS (каскадные таблицы стилей) - это язык, отвечающий за внешний вид HTML-документа
<style>
.p {
color: red;
}
</style>
📁web-page │ ├──index.html │ └──index.css
<!-- index.html -->
<head>
<link rel="stylesheet" href="./index.css">
</head>
@import url('https://example.ru/font');
div {
color: white;
}
.red {
background-color: red;
}
#square {
width: 100px;
height: 100px;
}
@import url('https://example.ru/font');
div {
color: white;
}
.red {
background-color: red;
}
#square {
width: 100px;
height: 100px;
}
свойство: значение; /* правило */
@import url('https://example.ru/font');
div {
color: white;
}
.red {
background-color: red;
}
#square {
width: 100px;
height: 100px;
}
селектор {
свойство: значение;
}
/* можно указать набор правил */
селектор {
свойство: значение;
свойство: значение;
свойство: значение;
}
/* можно указать набор селекторов для набора правил */
селектор,
селектор,
селектор {
свойство: значение;
свойство: значение;
свойство: значение;
}
@import url('https://example.ru/font');
div {
color: white;
}
.red {
background-color: red;
}
#square {
width: 100px;
height: 100px;
}
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>
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>
.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">Профиль</a>
</nav>
<img src="/cats.png" class="cats">
<p class="info red">Вот вам яркий пример
современных тенденций - реализация
намеченных плановых заданий является
качественно новой ступенью
модели развития!</p>
.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">Профиль</a>
</nav>
<img src="/cats.png" class="cats">
<p class="info red">Вот вам яркий пример
современных тенденций - реализация
намеченных плановых заданий является
качественно новой ступенью
модели развития!</p>
#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>
#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>
* {
font-size: 24px;
}
<h1>Очень важный текст</h1>
<nav>
<a href="/">Главная</a>
<a href="/profile">Профиль</a>
</nav>
<img src="/cats.png">
<p>Вот вам яркий пример
современных тенденций - реализация
намеченных плановых заданий является
качественно новой ступенью
модели развития!</p>
* {
font-size: 24px;
}
<h1>Очень важный текст</h1>
<nav>
<a href="/">Главная</a>
<a href="/profile">Профиль</a>
</nav>
<img src="/cats.png">
<p>Вот вам яркий пример
современных тенденций - реализация
намеченных плановых заданий является
качественно новой ступенью
модели развития!</p>
/* применится, если атрибут есть */
[href] {
color: red;
}
<a href="https://yandex.ru">Яндекс</a>
<a>Пустая ссылка</a>
/* применится, если равен "https://yandex.ru" */
[href="https://yandex.ru"] {
color: red;
}
<a href="https://yandex.ru">Яндекс</a>
<a href="https://google.com">Google</a>
/* применится, если начинается с "https://" */
[href^="https://"] {
color: red;
}
<a href="https://yandex.ru">Яндекс</a>
<a href="https://google.com">Google</a>
/* применится, если кончается на "yandex.ru" */
[href$="yandex.ru"] {
color: red;
}
<a href="https://yandex.ru">Яндекс</a>
<a href="https://yandex.ru/maps">Яндекс.Карты</a>
/* применится, если содержит на "yandex.ru" */
[href*="yandex.ru"] {
color: red;
}
<a href="https://yandex.ru">Яндекс</a>
<a href="https://yandex.ru/maps">Яндекс.Карты</a>
a:visited { color: green; }
a:focus { color: blue; }
a:hover { color: red; }
<a>Ссылка</a>
input:disabled {
background: red;
}
input:enabled {
background: green;
}
<input type="text" disabled placeholder="Неактивный">
<input type="text" placeholder="Активный">
input:valid {
background: green;
}
input:invalid {
background: red;
}
<input type="text" pattern="^[a-zA-Z]*$">
<html>
<ul>
<li></li>
<li></li>
<li>
<ul>
<li></li>
<li></li>
</ul>
<ul>
<li></li>
</ul>
</li>
</ul>
<p></p>
</html>
<html>
<ul>
<li></li>
<li></li>
<li>
<ul>
<li></li>
<li></li>
</ul>
<ul>
<li></li>
</ul>
</li>
</ul>
<p></p>
</html>
<html>
<ul>
<li></li>
<li></li>
<li>
<ul>
<li></li>
<li></li>
</ul>
<ul>
<li></li>
</ul>
</li>
</ul>
<p></p>
</html>
<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>
<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>
<html>
<ul>
<li></li>
<li></li>
<li>
<ul>
<li></li>
<li></li>
</ul>
<ul>
<li></li>
</ul>
</li>
</ul>
<p></p>
</html>
::first-letter { color: red; }
::first-line { color: blue; }
::before,
::after {
color: red;
font-weight: bold;
}
::before { content: '«'; }
::after { content: '»'; }
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>
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>
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>
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>
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>
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>
<html>
<ul>
<li></li>
<li></li>
<li>
<ul>
<li></li>
<li></li>
</ul>
<ul>
<li></li>
</ul>
</li>
</ul>
<p></p>
</html>
<html>
<ul>
<li></li>
<li></li>
<li>
<ul>
<li></li>
<li></li>
</ul>
<ul>
<li></li>
</ul>
</li>
</ul>
<p></p>
</html>
<html>
<ul>
<li></li>
<li></li>
<li>
<ul>
<li></li>
<li></li>
</ul>
<ul>
<li></li>
</ul>
</li>
</ul>
<p></p>
</html>
<html>
<ul>
<li></li>
<li></li>
<li>
<ul>
<li></li>
<li></li>
</ul>
<ul>
<li></li>
</ul>
</li>
</ul>
<p></p>
</html>
<html>
<ul>
<li></li>
<li></li>
<li>
<ul>
<li></li>
<li></li>
</ul>
<ul>
<li></li>
</ul>
</li>
</ul>
<p></p>
</html>
Красный или синий?
.blue {
color: blue;
}
.red {
color: red;
}
Красный или синий?
Красный или синий?
.blue {
color: blue;
}
.red {
color: red;
}
Красный или синий?
Красный или синий?
p.blue {
color: blue;
}
.red {
color: red;
}
Красный или синий?
Красный или синий?
html .blue {
color: blue;
}
.red {
color: red;
}
Красный или синий?
Красный или синий?
html .blue {
color: blue;
}
#red {
color: red;
}
Красный или синий?
идентификаторы
классы
псевдоклассы
атрибуты
элементы (теги)
псевдоэлементы
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;
}
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;
}
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 */
}
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 */
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 */
div {
color: green !important;
}
color: 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>
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 */
Привет,
УрФУ
div {
color: red; /* 0 0 1 */
/* abbr { color : red } – нет специфичности */
}
Привет,
УрФУ
* {
color: blue; /* 0 0 0 */
}
div {
color: red; /* 0 0 1 */
/* abbr { color : red } – нет специфичности */
}
Стили, которые наследуются (Подробнее)
Абсолютные единицы удобны при определении CSS для печати. В вебе же практически не используются