Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы гипертекстового представления интернет-контента

..pdf
Скачиваний:
2
Добавлен:
05.02.2023
Размер:
10.07 Mб
Скачать

11

<!-- comment -->

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

<!--[if IE 8]><link rel="stylesheet" href="ie8.css"/> <![endif]-->

Благодаря такому комментарию, браузер Internet Explorer понимает, что файл со стилями оформления ie8.css нужно загрузить, только если версия браузера равна 8.

Текст в HTML разрешён только внутри элементов, значений атрибутов и комментариях. Между атрибутами его размещать нельзя.

Новая строка может быть обозначена как символом CR (carriage return) – возврат каретки, так и LF (line feed) – подача на строку, так и двумя сразу – CR LF.

Чтобы вставить особые символы, например ©, для удобства можно использовать символы-мнемоники (Entity Characters):

<p>©</p> <!-- © --> Указание & и ; – обязательно.

1.2 Типы разметки

По назначению разметку делят на четыре группы:

1)описательная (Descriptive Markup) – определяет метаинформацию документа. Например, ключевые слова, автора документа, заголовок и кодировку;

2)структурная (Structural Markup) – определяет структуру и назначение текста;

3)визуальная (Presentational Markup) – определяет то, как элемент будет выглядеть;

4)ссылочная (Hypertext Markup) – обозначает части документа как ссыл-

ки. В спецификации HTML5 такой элемент только один – <a>. Визуальная разметка появилась до широкого распространения стилей

CSS, но на сегодняшний день уже рекомендуется её не использовать. Вместо элементов

<p><center>centered text</center></p>

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

<p style="text-align: center">centered text</p>

12

1.3Основные теги

Воснове документа лежит корневой элемент html. Он определяет границы документа:

<html lang="ru"> </html>

Рекомендуется указывать у него атрибут языка lang="ru". Атрибут языка помогает инструментам синтеза речи для невидящих людей правильно выбирать произношение.

Для того чтобы отделить описательную разметку от структурной, метаинформацию для роботов, браузеров и поисковых систем от содержимого для пользователей есть два элемента – body и head.

Элемент head хранит в себе набор элементов, определяющих метаинформацию документа для роботов, браузеров и поисковых систем (например, ключевые слова, автора документа, заголовок). Этот элемент не является обязательным и его можно пропустить.

<html lang="en">

<head>

<title>Example</title>

</head>

</html>

Элемент body хранит в себе набор элементов, определяющих содержимое документа для пользователей, и также как и head является необязательным.

<html lang="en"> <body>

<p>CERN is a European research organization that operates the largest particle physics laboratory in the world.</p>

</body>

</html>

Хотя теги html, head и body являются необязательными, хорошим стилем считается их использование, чтобы обозначить структуру документа.

Так как элементов в HTML очень много, для удобства их можно разделить на несколько больших групп:

метаэлементы;

секционные элементы;

заголовочные элементы;

13

группирующие элементы;

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

табличные элементы;

ссылочные элементы;

элементы форм;

элементы встраиваемого содержимого.

За каждым элементом скрывается вполне определённая задача. Чем точнее будет подобран элемент под задачу, тем дружелюбнее будет разметка как для пользователей, так и для поисковых систем.

Метаэлементы

<title></title> – определяет заголовок документа. Не виден в тексте, но используется для отображения на вкладке браузера или в истории посещений. Это единственный обязательный тег, и он не должен быть пустым. Поэтому минимально возможный корректный HTML-документ выглядит так:

<!DOCTYPE html>

<title> </title> <!-- Название состоит из одного пробе-

ла -->

<link> – устанавливает связь с внешним документом, например с СSSфайлом (где хранятся стили). Атрибут href описывает путь к файлу стилей, rel (relationship) описывает тип связи «по ссылке файл со стилями», и без этих атрибутов использовать элемент нельзя.

<link rel="stylesheet" href="styles.css">

<script></script> – предназначен для описания скриптов, может содержать ссылку на скрипт или его текст на определённом языке. Атрибут type имеет значение text/javascript по умолчанию, и его можно не указывать. Ранее предполагалось, что JavaScript будет не единственный скриптовым языком для браузеров. Использовался VBScript (язык от Microsoft), его тип – text/vbscript. На сегодняшний день для использования в клиентской части сайта доступен только JavaScript.

<script src="path/to/my-jquery-plugin.js"

type="text/javascript"></script>

<style></style> – предназначен для определения стилей в коде.

<style>

p { color: red; }

</style>

14

<meta> – метатег – определяет метаинформацию документа. Например, ключевые слова, автора документа, заголовок, кодировку.

<html lang="en">

<head>

<meta charset="utf-8">

<meta name="keywords" content="CERN, European, phys-

ics">

</head>

</html>

Атрибут name задаёт название, content – значение. Наиболее известны:

author – имя автора документа;

description – описание текущего документа;

keywords – список ключевых слов.

Особый метатег <meta charset="utf-8"> задаёт кодировку всего документа. Его рекомендуется располагать до любого текста на странице, включая <title>.

В исходной спецификации HTML5 не так много метатегов, поэтому компания Facebook расширила его спецификацией Open Graph. Результат использования OpenGraph можно встретить при размещении ссылок в социальных сетях: благодаря такой разметке рядом со ссылкой появляется изображение, краткое описание и другая полезная информация.

Помимо Facebook разметку Open Graph распознают также Яндекс, ВКонтакте, Google+, Twitter, LinkedIn, Pinterest и др.

Кроме информационных метатегов есть технические. Технические метатеги фактически копируют HTTP-заголовки и влияют на поведение документа. Вместо name в них просто используется атрибут http-equiv (HTTP Header Equivalent).

Секционные элементы

Секционные элементы необходимы для деления документа на смысловые части: основное содержимое, неосновное, навигация, шапка, подвал. К этим элементам относятся: article, section, aside, header, footer, nav, ad-

dress.

Элемент <article></article> обозначает законченную самодостаточную часть документа, которая вполне может существовать независимо: пост на форуме или в блоге, новостная статья или виджет (например, календарь),

15

комментарий. Элемент может содержать вложенные <article>. Так, пост в блоге может включать в себя комментарии посетителей, каждый из которых является <article>.

Элемент <section></section> определяет раздел в документе, такой как глава, шапка, подвал или любая другая часть документа. Блоки article и section предполагают наличие хотя бы одного заголовка.

Элемент <nav></nav> определяет блок с навигацией по связанным документам. Его рекомендуется использовать только для главной навигации. Например, для ссылок в подвале документа лучше использовать элемент <footer>, а не <nav>. Браузер может использовать ссылки в этом элементе, чтобы предсказывать дальнейшие действия посетителей и предзагружать страницы.

Элемент <aside></aside> определяет блок с сопутствующим содержимым. Например, для обозначения сносок или цитат. Также этот элемент может использоваться для группировки нескольких элементов <nav>.

Элемент <header></header> определяет шапку всего документа или шапку секции.

Элемент <footer></footer> определяет подвал всего документа или подвал секции.

Элемент <address></address> определяет блок с контактной информацией, относящейся к ближайшему <article> или <body>. <address> не должен содержать другой информации, кроме контактной: почтовый адрес, электронная почта, домашняя страницы в интернете.

Заголовочные элементы

Элементы <h1>, <h2>, <h3>, <h4>, <h5>, <h6> определяют заголовок для секционных элементов или <body>. Число определяет уровень: 1 – наивысший, 6 – наименьший.

<header>

<h1>Грамматика немецкого языка</h1>

</header>

<article>

<h2>Имя существительное (Substantiv)</h2>

<section>

<h3>Определенный и неопределенный артикли</h3>

16

<p>В немецком языке не бывает просто дерева. Может быть либо ein Baum [айн баум] - одно (какоелибо) дерево, либо der Baum [дэа баум] - то (самое) дерево.</p>

</section>

</article>

Группирующие элементы

Группирующие элементы объединяют логические блоки внутри секций – main, p.

Элемент <main></main> определяет главное содержимое страницы. Согласно спецификации W3C данный элемент может быть только один (в версии WHATWG такого ограничения нет).

Элемент <p></p> (paragraph) определяет параграф текста. Внутри <p> можно размещать только текстовые элементы:

·····························································

<!-- Хорошо --> <p>

<mark>Яндекс.Браузер</mark> предостерегает пользователей, когда они начинают вводить пароль на подозрительных страницах.

</p>

<!-- Плохо --> <p>

<h1>Заголовок первого уровня</h1> </p>

Последний пример браузер поймёт как: <p>Список покупок</p>

<h1>Заголовок первого уровня</h1> <p></p>

·····························································

Не рекомендуется использовать <p>, если есть более подходящий элемент. Например, для электронной почты лучше использовать <address>.

Элемент <hr> (horizontal rule) разделяет параграфы текста, например когда сменилась тема повествования. По умолчанию браузер рисует горизонтальную линию.

17

Элемент <pre></pre> (preformatted text) определяет блок предварительно форматированного текста. Такой текст отображается моноширинным шрифтом, сохраняя всё форматирование: пробелы, отступы.

Элемент используется когда необходимо вывести участок кода или ASCII графику:

<pre>

<code>function Panel(element, canClose) {

this.element = element;

this.canClose = canClose;

}</code>

</pre>

Элемент <blockquote></blockquote> предназначен для выделения длинных цитат внутри документа. Атрибут cite определяет ссылку на источник цитаты.

<blockquote cite="http://example.com">

Life is what happens to you while you’re busy making other plans. // Джон Леннон

</blockquote>

Элемент <ol> (ordered list) определяет упорядоченный список – при выводе на экран каждый элемент списка будет пронумерован. Элемент li (list item) определяет элемент списка.

Элемент <ul> (unordered list) определяет НЕупорядоченный список – при выводе на экран каждый элемент списка будет обозначен точкой или любым другим символом. Списки могут быть вложены друг в друга.

Элемент <dl></dl> (definition list) задаёт список «термин – описание». Внутри него задается термин элементом <dt></dt> (definition term) и описание термина – элементом <dd></dd> (definition description).

<dl>

<dt>GIF</dt>

<dd>Формат графических файлов, широко применяемый при создании сайтов.

GIF использует 8-битный цвет и эффективно сжимает сплошные цветные области,

при этом сохраняя детали изображения.</dd> </dl>

Каждому термину <dt> может соответствовать несколько описаний

<dd>.

18

·····························································

Этот элемент также может определять любые списки типа «ключ – значение», а не только «термин – описание».

<dl>

<dt>Дата</dt>

<dd>20 сентября 2015</dd>

<dt>Автор</dt>

<dd>Артур</dd>

</dl>

·····························································

Элемент <figure></figure> используется для группирования любых элементов и добавления подписи к ним с помощью элемента <figcaption></figcaption>. Чаще всего используется для добавления подписей к изображениям или коду.

Элемент <div></div> (division, раздел) – универсальный группирующий элемент с целью изменения вида содержимого через стили.

<div style="color: red;">

<p>Как только пользователь устанавливает курсор мыши в поле для ввода пароля на любом сайте, которого нет в списке, активируется система защиты.</p>

</div>

Элемент <div> не несёт смысловой нагрузки, поэтому его не рекомендуется использовать, если есть более подходящий.

Табличные элементы

Элемент <table></table> предназначен для разметки табличных дан-

ных.

<thead></thead> обозначает шапку таблицы. <tr></tr> обозначает строку данных. <th></th> обозначает ячейку шапки. <tbody></tbody> обозначает данные таблицы. <td></td> обозначает ячейку таблицы.

<table>

<thead>

<tr>

<th>Game name</th>

<th>Game publisher</th>

19

</tr>

</thead>

<tbody>

<tr>

<td>Diablo</td>

<td>Blizzard</td>

</tr>

<tr>

<td>Portal</td>

<td>Valve</td>

</tr>

</tbody>

</table>

В результате работы кода будет выведена таблица из двух столбцов и трех строк (рис. 1.2). Вообще элемент <tbody></tbody> является необязательным, однако при выводе в браузере, если открыть «Панель разработчика», можно заметить, что этот элемент присутствует. Такова особенность вывода таблиц, поэтому хоть этот элемент и является необязательным, во избежание недоразумений его лучше использовать.

Game name

Game publisher

 

 

Diablo

Blizzard

 

 

Portal

Valve

 

 

Рис. 1.2 – Результат выполнения кода

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

Элемент <em></em> (emphasis, акцент) предназначен для акцентирования текста.

<p><em>Cats</em> are cute animals.</p>

<em> обозначает ключевую часть предложения (не обязательно важного), в то время как <strong> обозначает именно важную информацию.

Элемент <strong></strong> предназначен для обозначения важной информацию.

<p><strong>Внимание! Идут учения!</strong></p>

20

Элемент <ins></ins> (inserted text) предназначен для выделения текста, который был добавлен к текущему. Атрибут datetime указывает на время добавления текста. По умолчанию браузер выделяет его подчёркиванием.

Элемент <del></del> (deleted text) предназначен для выделения текста, который был удалён. Атрибут datetime указывает на время удаления текста. По умолчанию браузер выделяет его зачёркиванием.

Элементы <del> и <ins> чаще всего используются для того, чтобы показать, что изменилось в документе с момента последней его редакции.

Элемент <mark></mark> (marked text) помечает текст как выделенный. По умолчанию браузер выделяет его жёлтым маркером. Удобно использовать этот элемент и для выделения участка кода:

<pre>

<code>function <mark>Panel</mark>(element, canClose) {

this.element = element;

this.canClose = canClose;

}</code>

</pre>

Элемент <small></small> предназначен для различных оговорок. Например, для условий и правовых ограничений в рекламе. По умолчанию браузер выделяет его мелким шрифтом.

Элемент <cite></cite> (отсылки) предназначен для выделения названий книг, песен, фильмов; имён авторов (то есть отсылок к ним).

<p>Роман Замятина <cite>Мы</cite> – одна из лучших книг-

антиутопий</p>

Элемент <q></q> (quote, цитата) предназначен для выделения цитат или обозначения прямой речи.

<p><q>Le général Koutouzoff,</q> – сказал Болконский,

ударяя на последнем слоге zoff, как француз</p>

Элемент <dfn></dfn> (definition, определение) предназначен для выделения определений, терминов.

<p><dfn>Гипотенуза</dfn> – сторона прямоугольного тре-

угольника, лежащая против прямого угла.</p>

Элемент <abbr></abbr> (abbreviation) предназначен для выделения аббревиатур. Браузер при наведении покажет подсказку с расшифровкой.

<abbr

title="Conseil

Européen

pour

la

Recherche

Nucléaire">CERN</abbr>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]