В этом документы мы рассмотрим основы HTML и базовые элементы, используемые для создания веб-страниц.
HTML основан на языке XML, в котором существуют элементы и атрибуты и коментарии. Выглядит это так:
<element attribute1="value1" attribute2="value2">
<!-- Внутренняя часть элемента -->
</element>
Разберём всё по порядку:
- element - название элемента
- attribute1 и attribute2 - атрибуты или параметры для элемента.
- value1 и value2 - значения атрибутов attribute1 и attribute2 соответственно.
- Внутренняя часть элемента - всё, что находится внутри элемента (текст
<p>
внутри контейнера<div>
). "<!--
" является началом коментария и "-->
" - концом.
У элемента всегда есть начало (<element>
), но не всегда есть конец (</element>
), однако это встречается только в тех элементах, в которых внутренее значение не применяется, как, например, в элементе <img>
:
<img src="picture1.jpg" alt="Example picture">
<!-- Обратите внимание на отсутствие конца элемента -->
Стоит заметить, что атрибуты отделяются пробелами, перед первым атрибутом после названия элемента один пробел обязателен. Значения атрибутов всегда пишутся в кавычках и между значением и названием атрибута ставится только знак "равно". Однако не у всех атрибутов обязателно значение. В таком случае "равно" не ставится и значение не пишется:
<element attribute3></element>
Из кода выше видно, что внутри элемента <element>
написан коментарий. Коментарии видны только в коде, на странице они не отображаются. Коментарии нужны для пометки частей кода, добавления "временной затычки" на будущее заполнение.
Весь HTML-документ имеет общий элемент <html>
, внутри которого есть только два элемента, <head>
и <body>
(в дальнейшем, блоки <head>
и <body>
). Блок <head>
необязателен в некотрых случаях. Незаполненный HTML-документ выглядит так:
<html>
<head>
<!-- Невидимый контент, исполняется до прорисовки документа -->
</head>
<body>
<!-- Видимый контент (или же всё, что мы видим) -->
</body>
</html>
В этом блоке происходит настройка документа, например его название, стили, скрипты (выполняемые до прорисовки, это важно), импорт различных компонентов из URL-а (скриптов, стилей, шрифтов и т. д.).
Разберём несколько элементов для блока <head>
:
-
<title>
- элемент для изменения названия документа (отображается, например, в названии вкладки).<title>Мой новый документ</title>
-
<link>
- элемент для импорта почти всех типов компонента. Его атрибуты таковы:rel
- указывает какого типа компонент импортируется, для нескольких значений можно отделять пробелами. Пример:rel="shortcut favicon"
илиrel="stylesheet"
.href
- указывает URL к файлу компонента. Пример:href="assets/favicon.ico"
илиhref="styles/main.css"
.type
- указывает тип файла, на который ссылаетсяhref
. Если тип файла текстовый, то этот атрибут необязателен. Пример:type="image/x-icon"
.
Примеры заполненных элементов
<link>
:<!-- Значок документа (отображается, например, в значке вкладки) --> <link rel="shortcut favicon" href="assets/favicon.ico" type="image/x-icon"> <!-- Импортируемый стиль, заметьте, что атрибут type отстутствует, так как файлы стиля имеют текстовый тип. --> <link rel="stylesheet" href="styles/main.css">
-
<meta>
- элемент, который настраивает какие-либо особенности документа. Это пособие не будет затрагивать этот элемент в деталях. Примеры:<!-- Кодировка документа --> <meta charset="UTF-8"> <!-- Режим работы докумета в Internet Explorer, все остальные браузеры игнорируют эту настройку --> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Устанавливает относительный размер документа с размером устройства. Так, например, на мобильных устройствах документ будет выглядеть правильно, а не очень маленьким --> <meta name="viewport" content="width=device-width, initial-scale=1.0">
Как уже говорилось ранее, в этом блоке пишется всё, что отображается на странице. Существует достаточно много элементов, которые пишутся в этом блоке, поэтому для них отведена целая часть этого пособия.
Элемент <p>
отображает абзац текста, который имеет вертикальное расстояние от других элементов (стили margin-top: 16px
и margin-bottom: 16px
).
Пример:
<p>Съешь ещё этих мягких французских булок, да выпей чаю...</p>
Эти элементы представляют собой заголовки, то есть жирный текст различного размера (от самого большого - 2em
или 32px
, до самого маленького - 0.67em
или 10.72px
)
Пример:
<h1>Самый большой (стандартный заголовок)</h1>
<h2>Заголовок поменьше...</h2>
<h3>И ещё меньше..</h3>
<h4>Маленький заголовок</h4>
<h5>Заголовок меньше маленького</h5>
<h6>Самый маленький заголовок</h6>
Этот элемент отображает картинку на веб-странице, которая загружается по адресу, указанному в атрибуте src
(например: src="https://via.placeholder.com/150"
). Не стоит забывать о тех случаях, когда просмотреть картинку невозможно (плохое интернет-соединение или веб-страница читается синтезатором голоса). Для этого существует атрибут alt
, значение которого отображается на месте картинки в случае плохого интернет-соединения и читается синтезатором в случае использования читалок (например: alt="картинка с сайта placeholder.com"
).
Стоит отметить, что элемент <img>
является одним из тех элементов, которому не нужен конечный тег (</img>
).
Пример:
<img src="https://via.placeholder.com/150" alt="картинка с сайта placeholder.com">
Этот элемент используется для того, чтобы сгруппировать несколько элементов и по желанию стилизировать всю группу (используя, например, стили background
и border
). Также элемент <div>
можно использовать для того, чтобы задать желаемую позицию на странице всей группе элементов (с помощью, например, стилей position
, left
и top
).
Пример:
<div>
<h1>Моя фотография</h1>
<p>Красивая фотография, сделанная мной.</p>
<img src="https://via.placeholder.com/300x150" alt="моя фотография">
</div>
Элемент <form>
является контернером для элементов ввода, внутри него вписываются все нужные элементы <input>
.
Главные атрибуты элемента <form>
:
method
- определяет тип HTTP-запроса (например,post
илиget
). Значение по умолчанию -get
.action
- адрес обработчика формы (может быть на внешнем сервере)
Пример:
<form action="example.php">
Элемент <input>
имеет атрибут type
, который определяет тип элемента ввода. Атрибутом name
задаётся имя поля, которое используется при отправлении запроса формы на сервер.
Главные атрибуты элемента <input>
:
type
- определяет тип элемента ввода. Рассмотрим различные типы ниже.name
- имя поля, которое используется при отправлении запроса формы в обработчик (или сервер).value
- значение поля по умолчанию.
Также элемент <input>
является ещё одним из ряда тех, которые не имеют тега конца (</input>
).
Различные типы <input>
и их примеры:
text
- текстовое поле.<input type="text" name="exampleName">
button
- кнопка. Является аналогом элемента<button>
с той же функцией. Чтобы задать надпись внутри кнопки, используется атрибутvalue
<input type="button" value="Кнопка">
checkbox
- флажок. Используется для выбора нескольких вариантов ответа.<input type="checkbox" name="flag1"> <input type="checkbox" name="flag2"> <input type="checkbox" name="flag3">
file
- файл. Используется для выбора файла с устройства.<input type="file" name="fileInput1">
password
- максированное текстовое поле (для паролей).<input type="password" name="userPassword">
radio
- переключатель. Используется для выбора одного варианта ответа. Для того, чтобы переключатели работали правильно, необходимо для всех переключателей использовать один и тот же артибутname
.<input type="radio" name="choice1" value="first"> <input type="radio" name="choice1" value="second"> <input type="radio" name="choice1" value="third">
reset
- кнопка сброса всех полей формы.<input type="reset" value="Сброс">
submit
- кнопка отправки формы.<input type="submit" value="Отправить">
color
- выбор цвета.<input type="color" name="exampleColor">
date
,datetime
,time
,month
,week
- время.<input type="date" name="exampleDate"> <input type="datetime" name="exampleDateTime"> <input type="time" name="exampleTime"> <input type="month" name="exampleMonth"> <input type="week" name="exampleWeek">
range
- ползунок для выбора чисел. Имеет необязательные атрибутыmin
(минимальное значение) иmax
(максимальное значение).<input type="range" min="10" max="20" value="15">
number
- ввод числа.<input type="number" name="exampleNumber">
Элемент <label>
имеет атрибут for
, значением которого должно быть имя элемента управления в форме. Внутри элемента пишется текст, который является надписью для элемента ввода.
Пример:
<label for="personName">Имя: </label>
<input type="text" name="personName">
<form action="example.php">
<label for="personName">Имя: </label>
<input type="text" name="personName">
<label for="personSurname">Фамилия: </label>
<input type="text" name="personSurname">
<label for="personAge">Возраст</label>
<input type="number" name="personAge">
<input type="submit" value="Отправить">
<input type="reset" value="Сброс">
</form>