Основы:
- Html - язык гипертекстовой разметки.
-
index.html - корневой файл, должен находиться в корневой
папке.
-
Для создания базовой разметки в пустом файле, нужно поставить
! и нажать TAB
-
Тег - элемент гипертекстовой разметки(пишется в фигурных
скобках). Бывают парные и одиночные.
-
Базовая разметка:
<!DOCTYPE html> - версия html
<html lang="ru"> - тег обертка
<head> - содержит данные о файле
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body> - содержит разметку документа
</body>
</html>
head
- <meta charset="UTF-8" /> - кодировка
- <title>Заголовок(название страницы)</title>
-
<link type="тип" sizes="размер" rel="описание" href="путь" />
- подключение иконки(основные форматы: .ico, .png)
-
<rel="apple-touch-icon" href="путь" />
<rel="apple-touch-icon" sizes="72x72" href="путь" />
<rel="apple-touch-icon" sizes="114x114" href="путь" />
- улученное подключение иконки
-
SEO
-
<meta name="description" content="описание контента">
- <meta name="keywords" content="ключевые слова">
- <meta name="author" content="автор">
-
<meta name="viewport" content="width=device-width,
initial-scale=1.0" /> - альтернативный дизайн
-
<meta name="viewport" content="width=device-width,
initial-scale=1.0" user-scalable="no" /> - альтернативный дизайн
с запретом зума
-
<meta http-equiv="X-UA-Compatible" content="IE=7"> - открывает
страницу в последней версии браузера(в современных версиях не нужен,
не поддерживается)
-
<link rel="stylesheet" href="путь"> - подключение css(внешние
таблицы стилей) или локальных(выкачанных) шрифтов, можно подключить
шрифт ссылкой указав к ней путь
- <style></style> - подключение стилей внутри тега
body
-
пример: <!--[if IE]>
<p> комментарий 1</p>
<![end if]-->
<!--[if it IE 10]>
<p> комментарий 2</p>
<![end if]-->
- условные комментарии: в примере будет выведен на сайт 1й, если
сайт открыли в IE, а 2й, если открыли в IE ниже 10й версии.
В такие условия можно оборачивать и скрипты.
-
скрипты подключаются в конце страницы, перед закрытием body
-
<script src="путь до файла со скриптами"></script> -
подключаем файл со скриптами
-
<style>
console.log('Hello world')
</style>
- подключаем скрипты в теге
структура сайта
WebSite
>index.html
>style.css
>script.js
Семантика
Семантика - это когда, что то выглядит тем, чем является на
самом деле.
W3C - консорциум всемирной паутины. На сайте есть валидатор
html, туда можно вставить файл или код разметки.
блочный элемент - занимает всю ширину экрана
строчный элемент - подстраивается под контент
структура кода
header - шапка
>nav - навигация
main
>article - новость
>section - секция
>aside - сайтбар
footer - подвал
accessibility(доступность) - работает, если на сайте семантические
теги.
Теги
от h1 до h6 - заголовки. h1 - должен быть один на
странице он самый важный.
hr - разделитель
p - параграф (красная строка - <p style="text-indent: 25px;">)
br - переход на следующую строчку
address - информация об авторе(может содержать другие теги)
<p></p>
<address></address> - привязали текст к автору
q - цитата
<q>
цитата
</q>
<address></address> - связываем цитату с автором
blockquote - большая цитата, можно не указывать автора, а
использовать атрибут cite
<blockquote cite="ссылка на источник">
<p>
большая цитата
</p>
</blockquote>
<p>это<cite>источник</cite></p>
cite - тег использующийся для выделения ссылки на источник в
цитате.
<time>1989-01-26</time> - время
<time datetime="1989-01-26">My Birthday</time> -
время внутри тега(служебный характер, для считывания даты, сама она не
отображается).
<b>жирный</b>
<i>курсивный</i>
<tt>машинописный</tt>
<s>зачеркнутый</s>
<strong>жирный семантический</strong>
<em>курсивный семантический</em>
<code>"код"</code> - отображение для кусков кода
<pre>
<code>"код"</code> - отображение для кусков
кода
</pre>
<big>увеличение семантический</big>
<small>уменьшение семантический</small>
<del>зачеркивается семантический</del>
<ins>подчеркивается семантический</ins>
<sub>нижний индекс</sub>
<sup>верхний индекс</sup>
Списки
<ul>
<li>маркированный список</li>
<li>. --</li>
</ul>
<ol>
<li>нумерованный список</li>
<li>1 --</li>
</ol>
Атрибуты списков
style="list-style-type: none" - убирает маркер
style="list-style-type: disc" - маленький черный круг(по умолчанию)
style="list-style-type: circle" - пустой круг
style="list-style-type: square" - квадрат
type="A" - в алфавитном порядке заглавными буквами
type="a" - в алфавитном порядке строчными буквами
type="I" - римскими цифрами в верхнем реестре
type="i" - римскими цифрами в нижнем реестре
start="10" - число с которого начинается нумерованный список
reversed - нумерация списка в обратном порядке
любые списки можно вкладывать друг в друга - вложенные списки.
Список определений
<dl>
<dt>термин</dt>
<dd>определение</dd>
</dl>
дефолтные маркеры - которые мы создаем сами(не стандартные иконки).
Картинка
<img src="путь к картинке" alt="описание картинки, если она не высветилась">
<picture>
<source media="(min-width: 1024px)" srcset="путь/600/600">
<source media="(min-width: 768px)" srcset="путь/300/300">
<source media="(min-width: 360px)" srcset="путь/100/100">
<img src="путь/300/300" alt="описание">
</picture>
<figure> - картинка с описанием
<img src="путь" alt="описание">
<figcaption>подпись картинки</figcaption>
</figure>
- с одним описанием, можно использовать несколько img
- в описание картинки можно вставлять разные теги
<table>
<caption>заголовок</caption>
<thead> - одна или несколько строк, используется один раз
<tr> - ряд
<th>ячейка</th> - будет выделен жирным
<th>ячейка</th>
</tr>
</thead>
<tbody> - одна или несколько строк, используется сколько угодно(основной контент)
<tr>
<td>ячейка</td>
<td>ячейка</td>
</tr>
</tbody>
<tfoot> - одна или несколько строк, используется один раз
<tr>
<td>ячейка</td>
<td>ячейка</td>
</tr>
</tfoot>
</table>
пустые ячейки нужно все равно рисовать или объединять, чтобы все не поплыло
атрибуты(чтобы не рисовать ячейки)
colspan="2" - объединяет ячейки по горизонтали
rowspan="2" - объединяет ячейки по вертикали
Ссылки и кнопки
<a href="путь">ссылка</a>
<a href="путь" download>ссылка</a> - ссылка на загрузку файла(может не работать,
если в настройках браузера запрещена)
атрибут target="_blank" - открывает ссылку в новом окне.
<a href="tel:телефон">телефон</a> - при нажатии дозвон
<a href="mailto:емэил">емэил</a> - отправить письмо
<a href="skype:skype">skype</a> - позвонить в skype
ссылка якорь: <a href="#bottom">go to bottom</a>
<p id="bottom">сюда при нажатии</p>
кнопка, в отличии от ссылки не самостоятельный элемент, на неё вешается логика
или она идет в составе формы.
<button type="submit">кнопка</button>
<button type="reset">кнопка</button> - идут в составе форм: submit отправляет форму,
а reset ее очищает.
<button type="button" autofocus>кнопка</button> - с этим атрибутом при загрузке страницы,
на кнопке будет стоять фокус, можно нажать на пробел для её активации.
<button type="button" disabled>кнопка</button> - блокирует нажатие на кнопку.
если ссылке не задавать путь, то можно через класс в css задать
display(исчезновение или отображение)
при нажатии(к примеру сверстать крестик формы)
<abbr title="HyperText Markup Language">HTML</abbr> - аббревиатура
<input list="list"> - текстовое поле привязанное к меню через id и list
<datalist id="list">
<option value="front-end"></option>
<option value="back-end"></option>
<option value="full-stack"></option>
</datalist> - всплывающее меню выбора
<meter value="80" max="100" low="10" high="60">Полоса прогресса</meter> - полоса прогресса
value - прогресс заполнения
max и min - максимальное и минимальное значение
low и high - пределы высокого и низкого значения(влияют на закрашивание)
бывает ещё тег на оптимальное значение
<progress value="80" max="100"></progress> - другой вид полосы прогресса(её чаще используют, чтоб
показать прогресс прогрузки со стороны семантики)
<noscript>Контейнер показывает содержимое,
если в браузере отключен javascript или он вообще не поддерживается</noscript>
<mark>маркер выделяется цветом</mark>
<canvas id="example" width="200" height="200"></canvas> - холст для рисования
Структура HTML5
Теги делятся на теги расположения и теги содержания.
Формы
<form action="файл отвечающий за отправку формы" name="имя формы" autocomplete="on(авто подстановка предзаполненных данных)">
<fieldset> - обводка по контуру
<legend>название формы</legend>
<label for="username">UserName</label> - создает метку элементу формы и подписывает его
<input type="text" id="username"> - текстовое пле однострочное
или так
<label>"Password"<input type="password"></label>
<textarea rows="10" cols="25"></textarea> - многострочное текстовое поле
атрибуты: name - имя
autofocus - автофокусировка
disabled - отключает
readonly - поле активно но данные изменить не получиться
placeholder - текст заменитель
maxlength - максимальное число вводимых символов
required - обязательное заполнение
<select> - выпадающий список
<option value="back-end">back-end</option>
<option value="front-end">front-end</option>
</select>
<select> - выпадающий список с лейблами
<optgroup label="Speciality"></optgroup>
<optgroup label="Derection"></optgroup>
</select>
атрибуты: multiple - позволяет выбрать несколько значений
disabled - блокирует выбор объединенных опций
label - добавляет лейбол для групп опций
value - значение опции
</fieldset>
</form>
inputs
<input type="text"> - позволяет вводить любые символы
<input type="number"> - позволяет вводить числовые значения
атрибуты: min - минимальное значение
max - максимальное значение
step - шаг
<input type="password"> - позволяет вводить пароль, не отображает символы
<input type="range"> - полоска ранжирования
<input type="date"> - дата с выпадающим календарем по умолчанию, тоже min и max
<input type="color"> - поле для выбора цвета
<input type="submit"> - кнопка отправки
<input type="reset"> - кнопка сброса
атрибут value надпись на кнопке
<input type="text" list="list"> - поле с выпадающим списком
<datalist id="list">
<input type="email"> - поле почты
<input type="url"> - поле для url
<input type="image" src="путь" alt="картинка"> - кнопка отправки в виде изображения
не все теги работают в различных браузерах, для проверки переходим на сайт can I use
<input type="tel"> - поле телефона
<input type="search"> - поле поиск
<input type="datetime-local"> - локальные(формат вашего компьютера) дата и время
<input type="month"> - месяц
<input type="time"> - дата
<input type="week"> - неделя
<input type="hidden" value="WebSite"> - для передачи скрытых от пользователя скрытых технических данных
<input type="file"> - хранение и передача пользовательских файлов
атрибут multiple позволяет выделять и отправлять несколько файлов
<input type="checkbox" value="option" checked> - чекбокс
<input type="radio" value="option" name="value" checked> - радио-кнопка
value - необязательный атрибут указывает на какой кнопке, таргет при загрузке страницы
name - должен быть у всех кнопок одинаковый
чтобы добавить подписи имен радио-кнопке и чекбоксу, нужно обернуть в label
Аудио и видео
поддержка браузеров для аудио и видео файлов разная, нужно проверять
<audio src="путь">
надпись высветиться, если формат файла не поддерживается
</audio> - аудио
<video width="320" height="240">
<source src="путь" type="video/ogg">
- конвертация аудио и видео файлов если их несколько
<source src="путь" type="video/mp4">
надпись высветиться, если формат файла не поддерживается
</video> - видео
атрибуты: controls - помещает файл в нативный(встроенный) плэер.
loop - бесконечное воспроизведение.
autoplay - автоматическое воспроизведение.
muted - убирает по умолчанию звук файла, при загрузке страницы.
poster="путь" - адрес отображаемой картинки, пока видео недоступно.
preload - определяет, как конкретно аудио или видео файл будет загружен на страницу.
его значения: auto - видео грузится, автоматически и целиком, при загрузке страницы
metadata - само видео грузить не нужно, только служебную информацию(первый кадр, продолжительность, размер и тд.)
none - загрузка не требуется вообще.
Универсальные атрибуты
id - у одного элемента, только один уникальный id(лучше использовать для связи в javascript).
class - может быть несколько, прописывать через пробел, используется для CSS.
title - всплывающая подсказка, при наведении на тег.
style - CSS.
contenteditable="true" - позволяет редактировать текст, при обновлении страницы сбрасывается.
spellcheck="true" - проверка правописания.
hidden - скрывает содержимое элемента.
tabindex - для передвижения с помощью табуляции и установления по очередности табуляции.
dir="rtl" - направление текста в теге.
lang="en"