Содержание

Основы HTML — Изучение веб-разработки

HTML (Hypertext Markup Language) — это код, который используется для структурирования и отображения веб-страницы и её контента. Например, контент может быть структурирован внутри множества параграфов, маркированных списков или с использованием изображений и таблиц данных. Как видно из названия, эта статья даст вам базовое понимание HTML и его функций.

HTML не является языком программирования; это язык разметки, и используется, чтобы сообщать вашему браузеру, как отображать веб-страницы, которые вы посещаете. Он может быть сложным или простым, в зависимости от того, как хочет веб-дизайнер. HTML состоит из ряда элементов, которые вы используете, чтобы вкладывать или оборачивать различные части контента, чтобы заставить контент отображаться или действовать определённым образом. Ограждающие теги могут сделать слово или изображение ссылкой на что-то ещё, могут сделать слова курсивом, сделать шрифт больше или меньше и так далее. Например, возьмём следующую строку контента:

Моя кошка очень раздражена

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

<p>Моя кошка очень раздражена</p>

Анатомия HTML элемента

Давайте рассмотрим элемент абзаца более подробно.

Главными частями нашего элемента являются:

  1. Открывающий тег (Opening tag): Состоит из имени элемента (в данном случае, «p»), заключённого в открывающие и закрывающие угловые скобки.  Открывающий тег указывает, где элемент начинается или начинает действовать, в данном случае — где начинается абзац.
  2. Закрывающий тег (Closing tag): Это то же самое, что и открывающий тег, за исключением того, что он включает в себя косую черту перед именем элемента. Закрывающий элемент указывает, где элемент заканчивается, в данном случае — где заканчивается абзац. Отсутствие закрывающего тега является одной из наиболее распространённых ошибок начинающих и может приводить к странным результатам.
  3. Контент (Content): Это контент элемента, который в данном случае является просто текстом.
  4. Элемент(Element): Открывающий тег, закрывающий тег и контент вместе составляют элемент.

Элементы также могут иметь атрибуты, которые выглядят так:

Атрибуты содержат дополнительную информацию об элементе, которую вы не хотите показывать в фактическом контенте. В данном случае, class это имя атрибута, а editor-note это значение атрибута. Класс позволяет дать элементу идентификационное имя, которое может позже использоваться, чтобы обращаться к элементу с информацией о стиле и прочих вещах.

Атрибут всегда должен иметь:

  1. Пробел между ним и именем элемента (или предыдущим атрибутом, если элемент уже имеет один или несколько атрибутов).
  2. Имя атрибута, за которым следует знак равенства.
  3. Значение атрибута, заключённое с двух сторон в кавычки.

Вложенные элементы

Вы также можете располагать элементы внутри других элементов — это называется вложением. Если мы хотим заявить, что наша кошка очень раздражена, мы можем заключить слово «очень» в элемент <strong> , который указывает, что слово должно быть сильно акцентированно:

<p>Моя кошка <strong>очень</strong> раздражена.</p>

Вы, однако, должны убедиться, что ваши элементы правильно вложены: в примере выше мы открыли первым элемент <p>, затем элемент <strong>, потом мы должны закрыть сначала элемент <strong>, затем <p>. Приведённое ниже неверно:

<p>Моя кошка <strong>очень раздражена.</p></strong>

Элементы должны открываться и закрываться правильно, поэтому они явно располагаются внутри или снаружи друг друга. Если они перекрываются, как в примере выше,  ваш веб-браузер будет пытаться сделать наилучшее предположение на основе того, что вы пытались сказать, что может привести к неожиданным результатам. Так что не стоит этого делать!

Пустые элементы

Некоторые элементы не имеют контента, и называются пустыми элементами. Возьмём  элемент <img>, который уже имеется в нашем HTML:

<img src="images/firefox-icon.png" alt="Моё тестовое изображение">

Он содержит два атрибута, но не имеет закрывающего тега </img>, и никакого внутреннего контента. Это потому, что элемент изображения не оборачивает контент для влияния на него. Его целью является вставка изображения в HTML страницу в нужном месте.

Анатомия HTML документа

Мы завершили изучение основ отдельных HTML элементов, но они не очень полезны сами по себе. Теперь мы посмотрим, как отдельные элементы объединяются в целую HTML страницу. Давайте вернёмся к коду, который мы записывали в наш index.html (с которым мы впервые встретились в статье Работа с файлами):

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Моя тестовая страница</title>
  </head>
  <body>
    <img src="images/firefox-icon.png" alt="Моё тестовое изображение">
  </body>
</html>

Здесь мы имеем:

  • <!DOCTYPE html> — доктайп. В прошлом, когда HTML был молод (около 1991/1992), доктайпы должны были выступать в качестве ссылки на набор правил, которым HTML страница должна была следовать, чтобы считаться хорошим HTML, что могло означать автоматическую проверку ошибок и другие полезные вещи. Однако в наши дни, никто не заботится об этом, и они на самом деле просто исторический артефакт, который должен быть включён для того, что бы все работало правильно. На данный момент это все, что вам нужно знать.
  • <html></html> — элемент <html>.  Этот элемент оборачивает весь контент на всей странице, и иногда известен как корневой элемент.
  • <head></head> — элемент <head>. Этот элемент выступает в качестве контейнера для всего, что вы пожелаете включить на HTML страницу, но не являющегося контентом, который вы показываете пользователям вашей страницы. К ним относятся такие вещи, как ключевые слова и описание страницы, которые будут появляться в результатах поиска, CSS стили нашего контента, кодировка и многое другое.
  • <body></body> — элемент <body>. В нем содержится весь контент, который вы хотите показывать пользователям, когда они посещают вашу страницу, будь то текст, изображения, видео, игры, проигрываемые аудиодорожки или что-то ещё.
  • <meta charset="utf-8"> — этот элемент устанавливает UTF-8 кодировку вашего документа, которая включает в себя большинство символов из всех известных человечеству языков. По сути, теперь документ может обрабатывать любой текстовый контент, который вы в него вложите. Нет причин не устанавливать её, так как это может помочь избежать некоторых проблем в дальнейшем.
  • <title></title> — элемент <title>. Этот элемент устанавливает заголовок для вашей страницы, который является названием, появляющимся на вкладке браузера загружаемой страницы, и используется для описания страницы, когда вы добавляете её в закладки/избранное.

Давайте снова обратим наше внимание на элемент изображения:

<img src="images/firefox-icon.png" alt="Mоё тестовое изображение">

Как было сказано раньше, код встраивает изображение на нашу страницу в нужном месте. Это делается с помощью атрибута src (source, источник), который содержит путь к нашему файлу изображения.

Мы также включили атрибут alt (alternative, альтернатива). В этом атрибуте, вы указываете поясняющий текст для пользователей, которые не могут увидеть изображение, возможно, по следующим причинам:

  1. У них присутствуют нарушения зрения. Пользователи со значительным нарушением зрения часто используют инструменты, называемые Screen Readers (экранные дикторы), которые читают для них альтернативный текст.
  2. Что-то пошло не так, в результате чего изображение не отобразилось. Например, попробуйте намеренно изменить путь в вашем атрибуте src, сделав его неверным. Если вы сохраните и перезагрузите страницу, то вы должны увидеть что-то подобное вместо изображения:

Альтернативный текст — это «пояснительный текст». Он должен предоставить читателю достаточно информации, чтобы иметь представление о том, что передаёт изображение. В этом примере наш текст «My test image» («Моё тестовое изображение») не годится. Намного лучшей альтернативой для нашего логотипа Firefox будет «The Firefox logo: a flaming fox surrounding the Earth» («Логотип Firefox: огненный Лис вокруг Земли»).

Сейчас попробуйте придумать более подходящий альтернативный текст для вашего изображения.

В этом разделе рассмотрим некоторые из основных HTML элементов, которые вы будете использовать для разметки текста.

Заголовки

Элементы заголовка позволяют вам указывать определённые части вашего контента в качестве заголовков или подзаголовков. Точно так же, как книга имеет название, названия глав и подзаголовков, HTML документ может содержать то же самое. HTML включает шесть уровней заголовков <h2> (en-US)–<h6> (en-US), хотя обычно вы будете использовать не более 3-4 :

<h2>Мой главный заголовок</h2>
<h3>Мой заголовок верхнего уровня</h3>
<h4>Мой подзаголовок</h4>
<h5>Мой под-подзаголовок</h5>

Теперь попробуйте добавить подходящее название для вашей HTML страницы, чуть выше  элемента <img>.

Абзацы

Как было сказано раньше, элемент <p> предназначен для абзацев текста; вы будете использовать их регулярно при разметке текстового контента:

<p>Это одиночный абзац</p>

Добавьте свой образец текста (вы создавали его в статье Каким должен быть ваш веб-сайт?) в один или несколько абзацев, расположенных прямо под элементом <img>.

Списки

Большая часть веб-контента является списками и HTML имеет специальные элементы для них. Разметка списка всегда состоит по меньшей мере из двух элементов. Наиболее распространёнными типами списков являются нумерованные и ненумерованные списки:

  1. Ненумерованные списки — это списки, где порядок пунктов не имеет значения, как в списке покупок. Они оборачиваются в элемент <ul>.
  2. Нумерованные списки — это списки, где порядок пунктов имеет значение, как в рецепте. Они оборачиваются в элемент <ol>.

Каждый пункт внутри списков располагается внутри элемента <li> (list item, элемент списка).

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

<p>Mozilla, мы являемся мировым сообществом технологов, мыслителей и строителей, работающих вместе ... </p>

Мы могли бы изменить разметку на эту:

<p>Mozilla, мы являемся мировым сообществом</p>

<ul>
  <li>технологов</li>
  <li>мыслителей</li>
  <li>строителей</li>
</ul>

<p>работающих вместе . .. </p>

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

Ссылки очень важны — это то, что делает Интернет Интернетом. Чтобы добавить ссылку, нам нужно использовать простой элемент — <a>a это сокращение от «anchor» («якорь»). Чтобы текст в вашем абзаце стал ссылкой, выполните следующие действия:

  1. Выберите некоторый текст. Мы выбрали текст «Манифест Mozilla».
  2. Оберните текст в элемент <a>, например так:
    <a>Манифест Mozilla</a>
  3. Задайте элементу <a> атрибут href, например так:
    <a href="">Манифест Mozilla</a>
  4. Заполните значение этого атрибута веб-адресом, на который вы хотите указать ссылку:
    <a href="https://www.mozilla.org/ru/about/manifesto/details/">Манифест Mozilla</a>

Вы можете получить неожиданные результаты, если в самом начале веб-адреса вы опустите https:// или http:// часть, называемую протоколом. После создания ссылки, кликните по ней, чтобы убедиться, что она направляет вас туда, куда вы хотели.

href сначала может выглядеть довольно непонятым выбором для имени атрибута. Если у вас возникли проблемы с тем, чтобы запомнить его, можете запомнить, что атрибут href образуется как hypertext reference («гипертекстовая ссылка»).

Теперь добавьте ссылку на вашу страницу, если вы ещё не сделали этого.

Если вы следовали всем инструкциям в этой статье, то вы должны увидеть в конечном итоге страницу, аналогичную рисунку ниже (вы также можете посмотреть её здесь):

Если вы застряли, вы всегда можете сравнить свою работу с нашим готовым примером кода на GitHub.

Здесь вы узнали только самую поверхность HTML. Чтобы узнать больше, перейдите на страницу Обучение HTML: руководства и уроки.

— HTML | MDN

HTML-элемент <img> встраивает изображение в документ. Это замещаемый элемент.

The source for this interactive example is stored in a GitHub repository. If you’d like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.

Приведённый выше пример показывает очень простое использование элемента <img>. Атрибут src обязателен и содержит путь к изображению, которое вы хотите встроить в документ. Атрибут alt содержит текстовое описание изображения, которое не обязательно, но невероятно полезно для доступности — программы чтения с экрана читают это описание своим пользователям, так они знают какое изображение показано, и так же оно отображается на странице, если изображение не может быть загружено по какой-либо причине.

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

  • управление Referrer/CORS в целях безопасности. Смотрите ниже атрибуты crossorigin и referrerpolicy;
  • настройка внутреннего размера (en-US) с использованием width и hight, которые полезны, когда вы хотите задать пространство занимаемое изображением, чтобы обеспечить стабильность макета страницы перед его загрузкой;
  • адаптивные изображения рекомендуется использовать с атрибутами sizes и srcset (смотрите также элемент <picture> и наше руководство «Адаптивные изображения»).

Стандарт HTML не содержит списка форматов изображений, которые должны поддерживаться. Поэтому разные пользовательские агенты поддерживают разные наборы форматов.

Firefox

Форматы изображений, поддерживаемые Firefox:

Если ошибка происходит во время загрузки или отрисовки изображения и обработчик события onerror был настроен на обработку события error (en-US), тогда этот обработчик события будет вызван. Это может произойти в ряде ситуаций, в том числе когда:

  • атрибут src пустой или null;
  • указанный URL в атрибуте src совпадает с URL страницы, на которой в данный момент находится пользователь;
  • указанное изображение каким-то образом повреждено, что препятствует его загрузке;
  • метаданные указанного изображения повреждены таким образом, что невозможно получить его размеры, и в атрибутах элемента <img> не было указано никаких размеров;
  • указанное изображение имеет формат, который не поддерживается пользовательским агентом.

К этому элементу применимы глобальные атрибуты.

alt

Этим атрибутом задаётся альтернативное текстовое описание изображения.

Примечание: Браузеры не всегда отображают изображение на которое ссылается элемент. Это относится к неграфическим браузерам (включая те, которые используются людьми с нарушениями зрения), если пользователь решает не отображать изображения, или если браузер не может отобразить изображение, потому что оно имеет неверный или неподдерживаемый тип. В этих случаях браузер может заменить изображение текстом записанным в атрибуте alt элемента. По этим и другим причинам вы должны по возможности предоставлять полезное описание в атрибуте alt.

Примечание: Пропуст этого атрибута в целом указывает, что изображение является ключевой частью контента и текстовый эквивалент не доступен. Установка этого атрибута в значение пустой строки (alt="") указывает, что это изображение не является ключевой частью контента (декоративное), и что невизуальные браузеры могут пропустить его при рендеринге (en-US).

crossorigin

Этот атрибут указывает, следует ли использовать CORS при загрузке изображения или нет. Изображения с включённой поддержкой CORS могут быть повторно использованы в элементе <canvas> не будучи «испорченными». Допустимые значения:

  • anonymous: Запрос cross-origin (т.е. с HTTP-заголовком Origin) выполняется, но параметры доступа не передаются (т.е. нет cookie, не используется стандарт X.509 или базовая HTTP-аутентификация). Если сервер не предоставляет параметры доступа исходному сайту (не устанавливая HTTP-заголовок Access-Control-Allow-Origin), изображение будет «испорчено» и его использование будет ограничено;
  • use-credentials: Запрос cross-origin (т.е. с HTTP-заголовком Origin) выполняется вместе с передачей параметров доступа (т.е. есть cookie, используется стандарт X.509 или базовая HTTP-аутентификация). Если сервер не предоставляет параметры доступа исходному сайту (посредством HTTP-заголовка Access-Control-Allow-Origin), изображение будет «испорчено» и его использование будет ограничено.

Если этот атрибут не задан, то CORS при загрузке изображения не используется (т.е. без отправки HTTP-заголовка Origin), ограничивая его использование в элементе <canvas>. Если задан неправильно, то он обрабатывается так, как если бы использовалось значение anonymous. Для получения дополнительной информации смотрите «Настройки атрибутов CORS».

decoding

Предоставляет рекомендации браузеру по декодированию изображения. Допустимые значения:

  • sync: Декодировать изображение синхронно для одновременного отображения с другим контентом;
  • async: Декодировать изображение асинхронно, чтобы уменьшить задержку отображения другого контента;
  • auto: Режим по умолчанию, который указывает на отсутствие предпочтений к режиму декодирования. Браузер решает, что лучше для пользователя.
height
Внутренняя высота (см. Внутренний размер (en-US)) изображения в пикселях.
importance

Указывает сравнительную важность ресурса. Приоритет выбирается с помощью значений:

  • auto: Указывает на отсутствие предпочтений. Браузер может использовать собственную эвристику для определения приоритета изображения;
  • high: Указывает браузеру, что изображение имеет высокий приоритет;
  • low: Указывает браузеру, что изображение имеет низкий приоритет.
intrinsicsize
Этот атрибут говорит браузеру игнорировать действительный внутренний размер (en-US) изображения и делать вид, что это размер, указанный в атрибуте. В частности, изображение будет растровым в этих измерениях, а narutalWidth/naturalHeight изображения будут возвращать значения, указанные в этом атрибуте. Объяснение, примеры.
ismap

Это атрибут логического типа, указывающий, что изображение является частью серверной карты ссылок. Если это так, то точные координаты клика отправляются на сервер.

Примечание: Этот атрибут разрешён, только если элемент <img> является потомком элемента <a> с валидным (соответствующий требованиям) атрибутом href.

loading

Указывает на то, как браузер должен загрузить изображение:

  • eager: Загружает изображение немедленно независимо от того, находится оно в области просмотра или нет (является значением по умолчанию).
  • lazy: Откладывает загрузку изображения до того момента, пока оно не достигнет подсчитанного расстояния области просмотра, определяемого браузером. Данное значение помогает избежать использования ресурсов сети и хранилища, необходимых для обработки изображения, пока это действительно не понадобится. В большинстве случаев использование этого аргумента улучшает производительность.

Примечание: Загрузка откладывается только тогда, когда включён JavaScript. Это анти-трэкинг мера. Если бы пользовательский клиент поддерживал опцию отложенной загрузки изображения при отключённом JavaScript, то сайт имел бы возможность отслеживать приблизительную позицию области просмотра в течение сессии пользователя, размещая изображения на странице таким образом, чтобы сервер мог отслеживать, сколько изображений загружено и когда.

referrerpolicy

Строка, указывающая, какой реферер (referrer) использовать при выборке ресурсов:

  • no-referrer: Заголовок Referer не будет отправлен;
  • no-referrer-when-downgrade: Заголовок Referer не отправляется, когда происходит переход к источнику без TLS (HTTPS). Это поведение по умолчанию для пользовательских агентов, если не указано иное;
  • origin: Заголовок Referer будет содержать схему адресации ресурса (HTTP, HTTPS, FTP и т.д), хост и порт;
  • origin-when-cross-origin: Переход на другие источники ограничит включённые реферальные данные схемой адресации ресурса, хостом и портом, в то время как переход из того же источника будет включать полный путь реферала;
  • unsafe-url: Заголовок Referer будет включать источник и путь, но не фрагмент URL, пароль или имя пользователя. Этот метод небезопасен, потому что будет утечка источников и путей от ресурсов, защищённых TLS, к незащищённым источникам.
sizes

Список из одного или нескольких строк, разделённых запятыми, указывающих набор размеров источника. Каждый размер источника состоит из:

  1. Условия мёда-запроса. Оно должно быть пропущено для последнего элемента.
  2. Значения размера источника.

Значения размера источника устанавливаются исходя из предполагаемых размеров изображения. Пользовательские агенты используют текущий размер источника, чтобы выбрать один из источников, предоставленных атрибутом srcset, если эти источники описываются с помощью дескриптора ширины ‘w‘ (сокращение от width). Выбранный размер источника влияет на внутренний размер (en-US) изображения (отображаемый размер изображения, если не применены стили CSS). Если атрибут srcset отсутствует или не содержит значений с дескриптором ‘w‘, то атрибут sizes не будет иметь никакого эффекта.

src
URL изображения. Этот атрибут является обязательным для элемента <img>. В браузерах, поддерживающих srcset, src обрабатывается как изображение-кандидат с дескриптором плотности пикселей 1x, если только изображение с этим дескриптором уже не определено в srcset или если srcset не содержит дескрипторы ‘w‘.
srcset

Список из одной или нескольких строк, разделённых запятыми, указывающих набор возможным источников изображения для использования пользовательскими агентами. Каждая строка состоит из:

  1. URL изображения.
  2. Необязательного, пробела, сопровождаемого:
    • дескриптором ширины или положительным целым числом, за которым сразу же следует ‘w‘. Дескриптор ширины делится на размер источника, полученный из атрибута sizes, для расчёта эффективной плотности пикселей;
    • дескриптором плотности пикселей, который является положительным числом с плавающей точкой за которым сразу же следует ‘x‘.

Если не указано ни одного дескриптора, то источнику присваивается дескриптор по умолчанию: 1x.

Нельзя смешивать дескрипторы ширины с дескрипторами плотности пикселей в одном атрибуте srcset. Повторение дескрипторов (например, два источника в одном srcset с одинаковым дескриптором ‘2x‘) так же является недопустимым.

Пользовательские агенты выбирают любой из доступных источников на своё усмотрение. Это предоставляет им значительную свободу действий для адаптации их выбора на основе таких вещей, как предпочтения пользователя или пропускная способность. Смотрите наше руководство «Адаптивные изображения» для примера.

width
Внутренняя ширина (см. Внутренний размер (en-US)) изображения в пикселях.
usemap

Неполный URL (начиная с ‘#‘) карты-изображения, связанной с элементом.

Примечание: вы не можете использовать этот атрибут, если элемент <img> является потомком элемента <a> или <button>.

Устаревшие атрибуты

align Этот API вышел из употребления и его работа больше не гарантируется.

Выравнивание изображения относительно окружающему его контексту. Этот атрибут больше не должен быть использован — вместо этого используйте CSS-свойства float и/или vertical-align. Вы можете так же использовать CSS-свойство object-position для позиционирования изображения внутри границ элемента <img>. Допустимые значения:

  • top: Аналог vertical-align: top или vertical-align: text-top;
  • middle: Аналог vertical-align: -moz-middle-with-baseline;
  • bottom: Отсутствует значение по умолчанию, аналог vertical-align: unset или vertical-align: initial;
  • left: Аналог float: left;
  • right: Аналог float: right.
border Этот API вышел из употребления и его работа больше не гарантируется.
Ширина рамки вокруг изображения. Вы должны использовать CSS-свойство border вместо этого атрибута.
hspace Этот API вышел из употребления и его работа больше не гарантируется.
Отступ слева и справа от изображения в пикселях. Вы должны использовать CSS-свойство margin вместо этого атрибута.
longdesc Этот API вышел из употребления и его работа больше не гарантируется.

Ссылка на более подробное описание изображения. Возможными значениями являются URL или id элемента.

name Этот API вышел из употребления и его работа больше не гарантируется.
Имя для элемента. Вы должны использовать атрибут id вместо этого атрибута.
vspace Этот API вышел из употребления и его работа больше не гарантируется.
Отступ сверху и снизу от изображения в пикселях. Вы должны использовать CSS-свойство margin вместо этого атрибута.

<img> является замещаемым элементом; по умолчанию он имеет значение свойства display равное inline, но его размеры по умолчанию определяются внутренними значениями (см. внутренний размер (en-US)) встроенного изображения. Вы можете установить на изображение такие свойства, как border/border-radius, padding/margin, width/height и так далее.

Однако, часто бывает полезно установить для изображений свойство display в значение block, так что вы имеете максимальный контроль над стилизацией (например, margin: 0 auto не работает на изображениях с display: inline, легче размещать изображения в контексте с окружающими элементами, когда они являются блочными).

У <img> нет базовой линии, когда изображения используются в ситуации со строчным форматированием (display: inline) вместе с vertical-align: baseline, нижняя граница изображения будет размещена на базовой линии контейнера.

Вы можете использовать свойство object-position для позиционирования изображения внутри границ элемента <img> и свойством object-fit регулировать размеры изображения внутри этих границ (например, должно ли изображение помещаться в границы элемента или заполнить элемент полностью, даже если потребуется обрезка).

В зависимости от типа, изображение может иметь собственную (внутреннюю) ширину и высоту. Для некоторых типов изображений тем не менее внутренние размеры (en-US) не обязательны. SVG-изображения, например, могут не иметь внутренних размеров, если для корня их элемента <svg> не заданы width и height.

Альтернативный текст

Следующий простой пример встраивает изображение с альтернативным текстом в страницу для улучшения доступности.

<img src="https://developer.mozilla.org/static/img/web-docs-sprite.22a6a085cf14.svg"
     alt="Логотип MDN - изображение динозавра с текстом MDN web docs">

Изображение-ссылка

Этот пример основан на предыдущем и показывает как превратить изображение в ссылку. Это очень просто сделать так — вы вставляете тег <img> внутрь элемента <a>. Также вы должны изменить альтернативный текст, чтобы он описывал назначение ссылки.

<a href="https://developer.mozilla.org">
  <img src="https://developer.mozilla.org/static/img/web-docs-sprite.22a6a085cf14.svg"
       alt="Посетить сайт MDN">
</a>

Использование атрибута srcset

В этом примере мы добавляем атрибут srcset, содержащий ссылку на версию логотипа в высоком разрешении; оно будет загружено вместо изображения в src на устройствах с высоким разрешением. Изображение указанное в атрибуте src, считается 1x кандидатом в пользовательских агентах, которые поддерживают srcset.

 <img src="mdn-logo-sm.png"
      alt="MDN"
      srcset="mdn-logo-HD.png 2x">

Использование атрибутов srcset и sizes

Атрибут src игнорируется в пользовательских агентах, которые поддерживают srcset, когда добавлены дескрипторы ‘w‘. Когда условие медиавыражения (max-width: 600px) совпадает с состоянием устройства, будет загружено изображение шириной 200px (оно то самое, которое наиболее близко соответствует 200px, указанным в медиавыражении), иначе будет загружено другое изображение.

 <img src="clock-demo-thumb-200.png"
      alt="Часы"
      srcset="clock-demo-thumb-200.png 200w,
          clock-demo-thumb-400.png 400w"
     >

Создание значимых альтернативных описаний

Значение атрибута alt должно чётко и кратко описывать содержимое изображения. Он не должен описывать наличие самого изображения или название файла изображения. Если атрибут alt намеренно пропущен, потому что изображение не имеет текстового эквивалента, рассмотрите альтернативные способы представления содержимого, которое изображение пытается передать.

Плохо
<img alt="image" src="penguin.jpg">
Хорошо
<img alt="Пингвин на пляже." src="penguin.jpg">

Когда у изображения отсутствует атрибут alt, некоторые программы чтения с экрана могут объявить вместо него имя файла изображения. Это может привести к путанице, если имя файла не соответствует содержимому изображения.

Атрибут title

Атрибут title не является приемлемой заменой атрибута alt. Кроме того, избегайте повторения значения атрибута alt в атрибуте title, объявленном на том же изображении.

Атрибут title также не должен использоваться в качестве подписи, сопровождающей альтернативное описание изображения. Если изображению нужна подпись, используйте элемент <figure> вместе с элементом <figcaption>.

BCD tables only load in the browser

Основы CSS — Основы HTML, CSS и веб-дизайна

HTML задаёт структуру. CSS задаёт оформление.

CSS — это отдельный язык со своим форматом и правилами, но он создан специально для HTML. С помощью CSS можно описать внешний вид страницы и отдельных элементов. Например, цвет текста, размер шрифта, размеры и отступы картинок, рамки вокруг элементов, закругления в фотках и так далее.

CSS расшифровывается как Cascading Style Sheets. Сейчас мы разберёмся, как задавать стили и причём тут слово «каскад».

Допустим, у нас есть такой HTML:

<p>На территории, где ныне расположен Нью-Йорк, задолго
до появления здесь европейцев жили индейские племена
Манахаттоу и Канарси.</p>

Это всё — один абзац, но я добавил переводы строк, чтобы текст просто удобнее было читать на этой странице. В HTML перевод строки не транслируется в реальный перевод строки в итоговой странице. Вместо этого он превратится в один пробел. Несколько переводов строки также превратятся в лишь один пробел. Ну, и несколько пробелов тоже превратятся в один пробел.

Все варианты ниже приведут к одному результату:

<p>На территории, где ныне расположен Нью-Йорк, задолго до появления здесь европейцев жили индейские племена Манахаттоу и Канарси.</p>

<p>На территории, где ныне расположен Нью-Йорк, задолго
до появления здесь европейцев жили индейские племена
Манахаттоу и Канарси.</p>

<p>На территории, где ныне расположен Нью-Йорк, задолго

до появления здесь европейцев жили индейские племена

Манахаттоу и Канарси.</p>

<p>На территории,    где ныне расположен Нью-Йорк,   задолго
до появления    здесь европейцев     жили индейские племена
Манахаттоу и         Канарси.</p>

Для реального перевода строки можно использовать одиночный тег <br>.

Мы отвлеклись. Итак, мы хотим добавить к нашему HTML-коду стиль. С помощью CSS-кода ниже мы сделаем так, что у всех элементов p текст внутри будет красным, а размер шрифта будет 20 пикселей:

p {
  color: red;
  font-size: 20px;
}

Вот живой пример:

See the Pen Basic CSS by Hexlet (@hexlet) on CodePen.

  1. Первая часть — это селектор (selector). Им мы выбираем то, к чему применять стиль.
  2. Набор стилей указан после селектора в фигурных ({, }) скобках.
  3. Набор состоит из пар свойство: значение (property: value).

Классы и идентификаторы

Но что если мы хотим применить такой стиль не ко всем параграфам, а только к некоторым? Для подобных задач в HTML и CSS существуют классы (classes).

<p>На территории, где ныне расположен Нью-Йорк,
задолго до появления здесь европейцев жили индейские
племена Манахаттоу и Канарси.</p>

<p>Это подтверждают находки наконечников стрел и
других артефактов в районах города, не застроенных
зданиями, например, Инвуд-Хилл-парк и Риверсайд-парк.
</p>

<p>Европейские поселения появились здесь в 1624 году.</p>

Мы указали класс у двух абзацев. Теперь нам нужно обновить CSS, потому что сейчас он не учитывает класс и применяет стили ко всем абзацам. Укажем класс:

p.red {
  color: red;
  font-size: 20px;
}

Селектор p.red означает «все элементы типа p с классом red».

То есть если мы добавим класс red к элементу другого типа, например, <a href="https://goo.gl">Goo</a>, то такой элемент не станет красным: стиль работает строго для p.

Можно освободить стиль от такого ограничения:

.red {
  color: red;
  font-size: 20px;
}

Селектор .red означает «все элементы любого типа с классом red».

Допустим, визуальный стиль нашей страницы изменился, и важные куски текста теперь выделяются не красным цветом с увеличенным шрифтом, а зелёным цветом и курсивом.

.red {
  color: green;
  font-style: italic;
}

Отлично, но название класса теперь не имеет особого смысла. Это больше не red на самом деле. Придётся поменять его на green и изменить класс в HTML у всех соответствующих элементов.

Но идея лучше — изначально использовать в названиях классов семантический смысл, а не особенность реализации. Например, если таким образом мы выделяли более важные части текста, то стоило назвать класс important:

.important {
  color: green;
  font-style: italic;
}

Теперь при изменении цветов или любых других деталей этого стиля нам не нужно волноваться о названии: смысл не поменяется, поменяется лишь конкретная реализация.


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

Другой пример — логотип сайта где-нибудь наверху.

Для уникальных «разовых» элементов стоит использовать идентификатор:

<h2>История города Нью-Йорк</h2>

<p>На территории, где ныне расположен Нью-Йорк,
задолго до появления здесь европейцев жили индейские
племена Манахаттоу и Канарси.</p>

<p>Это подтверждают находки наконечников стрел и
других артефактов в районах города, не застроенных
зданиями, например, Инвуд-Хилл-парк и Риверсайд-парк.
</p>

А так можно указать стиль:

h2#article-title {
  font-family: Georgia, serif;
  color: #1050ff;
}

Структура и идея такие же, как с классами, но вместо точки . используется решётка #. В этом стиле мы задали шрифт с засечками Georgia и синий цвет в HEX-формате. Введите в гугле «color picker», чтобы поработать с интерактивной палитрой, где можно сгенерировать коды для разных цветов.

Последний пример немного избыточен, потому что по правилам (спецификации HTML) элемент с идентификатором должен быть уникальным на странице. То есть нет необходимости выбирать именно h2, достаточно сделать так:

#article-title {
  font-family: Georgia, serif;
  color: #1050ff;
}

Но следить за тем, чтобы идентификаторы были уникальными и не повторялись — ваша задача. Браузер никак не «пожалуется» на нарушение этого правила.


Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты.

Ошибки, сложный материал, вопросы >

Нашли опечатку или неточность?

Выделите текст, нажмите
ctrl + enter
и отправьте его нам. В течение нескольких дней мы исправим ошибку или улучшим формулировку.

Что-то не получается или материал кажется сложным?

Загляните в раздел «Обсуждение»:

  • задайте вопрос. Вы быстрее справитесь с трудностями и прокачаете навык постановки правильных вопросов, что пригодится и в учёбе, и в работе программистом;
  • расскажите о своих впечатлениях. Если курс слишком сложный, подробный отзыв поможет нам сделать его лучше;
  • изучите вопросы других учеников и ответы на них. Это база знаний, которой можно и нужно пользоваться.
Об обучении на Хекслете

Учебник HTML и CSS для новичков

Для того, чтобы сделать сайт, нужно знать много разных
веб языков.

Языки HTML и CSS предназначены для верстки сайтов
(верстка — это размещение элементов сайта по нужным местам).
Язык PHP нужен для программирования сайта
(с его помощью можно, к примеру, сделать регистрацию пользователей).
Язык JavaScript нужен для того, чтобы ‘оживить’ сайт: к примеру, сделать
меняющиеся картинки (слайдер).

Язык HTML

Язык HTML — это основа web сайтов, с его помощью
создается каркас страницы, которую вы видите в браузере.

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

Заголовки, абзацы и другие блоки можно выделить и на странице сайта.
Это делается с помощью HTML тегов.

Что такое HTML теги?

HTML теги — это специальные команды для браузера.
Они говорят ему, что, к примеру, следует считать заголовком страницы,
а что абзацем.

Теги строятся по такому принципу: уголок <, потом имя тега,
а потом уголок >, вот так: <имя тега>. Имя тега может состоять
из английских букв и цифр. Примеры тегов:
<h2>, <p>, <b>.

Теги обычно пишутся парами — открывающий тег и соответствующий ему закрывающий.
Разница между открывающим и закрывающим тегами в том, что
в закрывающем теге
после уголка < стоит слеш /.

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

Бывают теги, которые не нужно закрывать,
например, <br> или <img>.

Атрибуты

В тегах также могут размещаться атрибуты
специальные команды, которые расширяют действие тега.

Атрибуты размещаются внутри открывающего тега в таком формате:
<тег атрибут1=»значение» атрибут2=»значение»>.

Кавычки могут быть любыми — одинарными или двойными,
допустимо их вообще их не ставить, если значение атрибута
состоит из одного слова (но это не желательно).

Язык CSS

Язык CSS расширяет возможности языка HTML.
Он позволяет менять цвета, шрифты, фон, в общем заниматься
красотой сайта. А HTML, соответственно, отвечает за структуру сайта.

Итак, приступим

Итак, вооружившись некоторыми предварительными теоретическими знаниями,
приступим к подробному изучению языка HTML на практике.

Основы Html, CSS Плеяды

Это первый уровень большого курса «Создание современных сайтов с элементами SEO для продвижения»(60 час).

Основой WEB-программирования, то есть, создания сайтов, является изучение HTML и СSS .

HTML (англ. сокр. HyperText Markup Language — язык гипертекстовой разметки). На языке HTML не программируют, а верстают.  Язык HTML позволяет связывать страницы между собой с помощью ссылок (линков).

PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста») — язык программирования, создан для генерирования HTML-страниц на веб-сервере и работы с базами данных, его использование позволяет создавать довольно сложные динамические приложения.

По окончании курса Вы сможете создать свой первый простой статический сайт при помощи HTML5 и CSS3 и загрузить его на хостинг, получите общее представление о языке программирования PHP.

ПРОГРАММА КУРСА

(30 час.)

Введение.

1. Что такое сайт? Как происходит доступ к информации через сеть Интернет.

2. Адреса страниц и куда они ведут.

3. Доменное имя и хостинг.

4. Скорость загрузки сайта.

5. Распределение внимания посетителя сайта.

6. Основные правила дизайна сайтов. Чем хорошая верстка сайта отличается от плохой.

Блок 1. Работа с HTML и PHP



1. Язык HTML. История и основные понятия. Необходимые инструменты WEB-разработчика.

2. Знакомство со структурой HTML-документа. Основные теги оформления текста в HTML.

3. <!DOCTYPE> и выбор стандарта языка HTML

4. Работа с текстом в документе HTML. Правила вложенности тегов и анализ ошибок кода.

7. Работа с графическими файлами

8. Работа со списками. Структурирование информации при помощи списков.

9. Работа с таблицами и табличное структурирование информации.

10. Разбивка страницы по блокам и текстовая разметка

11. Гипертекстовые ссылки. Ссылки на файл, адрес в интернете и на адрес e-mail.

12. Работа с формами и отправка информации из полей формы. Привязка формы к почтовому адресу.

13. Списки, фреймы, кнопки и элементы диалога. Назначение и основные теги.

14. Основы PHP

15. Генерация страниц на
PHP

Блок 2. Работа с CSS


1. Основные понятия.

2. Синтаксис СSS.

3. Селекторы (id, ). Селекторы атрибутов.

4. Стили и оформление.Основные свойства стилей. Вложенность, наследование и группирование свойств


5.
Инструменты, облегчающие работу с CSS.

6. Работа с цветом. Декоративные возможности CSS.

Блок 3. Размещение сайта на сервере.


1. Приобретение доменного имени.

2. Вопросы хостинга.

3. Описание метаинформации сайта с помощью элемента META

4. Настройка FTP-клиента.

5. Вопросы поддержки сайта и знакомство с веб-инструментами Яндекс и Гугл

6. Кратко о продвижении сайта

Курсы по интернет-маркетингу и SEO- продвижению

Все курсы по интернет технологиям

Если Вы зарегистрируетесь на обучение посредством on line-формы, Вы станете участником розыгрыша «ПРИЗ МЕСЯЦА»

 

 

















Google Мы в Google+

































— —









HTML Основы

В данной категории Вы сможете познакомиться с множеством тегов HTML. Вы убедитесь, что HTML — это просто!

В ниже приведённых статьях имеется вся информация, которая нужна по этому языку разметки.

Ознакомившись с данными материалы, Вы сможете сразу начать создавать свой сайт и начать зарабатывать на нём!

Прочитав статьи по основам HTML, Вы узнаете:

1) О структуре HTML-документа.

2) Как добавлять ссылки на HTML-страницы.

3) Как добавлять изображения на HTML-страницы.

4) О способах изменения внешнего вида текста в HTML.

5) Как добавлять списки на HTML-страницы.

6) О способах выравнивания элементов в HTML.

7) Как создавать формы в HTML.

8) Как создавать таблицы в HTML.

9) Как выбрать цвет в HTML.

10) Как установить Favicon на сайт.

11) Как вставить дополнительные пробелы в HTML.

12) Как установить страницу 404.

13) Как сделать редирект на HTML.

14) Как вывести спецсимволы в HTML.

15) Зачем нужен DOCTYPE.

16) Какая разница между HTML и XHTML.

17) Как добавить видео на сайт.

18) О проверке сайта в разных браузерах.

19) О значение валидного HTML-кода.

20) Как проверить статус ICQ через HTML.

21) Что такое мета-теги в HTML.

22) Какие имеются мета-теги для страницы в HTML.

23) Какие имеются мета-теги для браузера в HTML.

24) Какие имеются мета-теги для поисковых систем в HTML.

25) Что такое кодировка.

26) Что лучше: блочная вёрстка или табличная.

27) Что делать, если HTML-файл открывается как TXT.

28) Как вставить аудио на сайт.

29) Почему Dreamweaver — это плохо.

30) Как сделать дизайн для сайта.

31) Что такое вёрстка.

32) Что такое сайт под ключ.

33) Как поставить горячую клавишу на ссылку.

34) Как сделать кпопку «Наверх».

35) Об использовании тега optgroup в HTML.

36) Почему не отображается картинка на сайте.

37) Почему фреймы — это плохо.

38) Стоит ли использовать Flash при создании сайта?

39) Какова структура блочной вёрстки?

40) Как открыть ссылку в новом окне с валидным кодом?

41) Как запретить посетителю сохранять картинки?

42) Как запретить посетителю копировать текст?

43) Стоит ли делать вёрстку под старые браузеры.

44) Как сделать мобильную версию сайта.

45) Как поменять кодировку на сайте.

46) Как сделать автообновление страницы.

47) Как сделать комментирование на HTML-сайте.

48) Как проверить сайт в разных версиях IE.

49) Как установить радио на сайт.

50) Какая структура у двухколоночного сайта.

51) Что такое SVG? Основы.

52) Что такое SVG? Стилизуем объекты.

53) Что такое SVG? Пишем текст.

54) Что такое SVG? Анимируем SVG объекты.

55) Что такое SVG? Поддержка старых браузеров.

56) Зачем нужен тег ruby в html.

57) Язык разметки Markdown.

58) Как быстро создать шаблоны электронной почты на HTML.

59) Как сделать красивые страницы ошибок.

60) Зачем нужен HTML тег code?.

61) Как сделать видео фон на сайте.

62) Красивое оформление HTML/CSS кода.

63) Верстка email писем.

64) Атрибут srcset, Retina, WebP. Какая связь?.

65) Верстка адаптивной шапки на Bootstrap.

66) Как сделать таблицу в HTML.

67) Самое важное о ссылках в HTML.

68) HTML теги для текста.

69) Фавикон для сайта.

70) Микроразметка сайта schema.org.

71) Как сделать гифку из видео.

72) Иконочные шрифты IcoMoon.

73) Заглушка для изображений на сайте.

74) Как уменьшить размер изображения без Photoshop.

75) Как вставить изображение на веб-сайт.

76) Почему нужно использовать SVG графику на сайтах.

77) Варианты использования SVG на сайтах. Часть #1.

78) Варианты использования SVG на сайтах. Часть #2.

78) Варианты использования SVG на сайтах. Часть #3.

Все материалы по основам HTML

Основы HTML и CSS || CodenameCRUD

Как вы, надеемся, узнали ранее, HTML является языком разметки, который размечает, как располагается все содержимое веб-страницы, которое вы видите в браузере. Весь текст на этой странице сейчас находится внутри HTML-тегов, которые говорят вашему браузеру, как он (текст) должен быть расположен. Давайте, кликните правой кнопкой на любой элемент на странице и выберите «Проверить объект» (или похожую опцию), чтобы открыть инструменты разработчика, встроенные в ваш браузер, и вы увидите структуру страницы.

CSS говорит вашему браузеру, как конкретно отображать любой из тегов. Например, сделать фон тега голубым и сдвинуть его немного влево. В ваших инструментах разработчика вы можете видеть css-стили на другой панели, обычно показывающей конкретные свойства, унаследованные от каждой строки CSS-кода.

Пункты для размышления

Постарайтесь ответить на предложенные вопросы. После выполнения задания попробуйте ответить на них ещё раз

  • Почему мы отделяем HTML от CSS?
  • Что такое классы и ID (и в чем их различие?)
  • Что такое элементы?
  • Что такое теги?
  • Что такое атрибуты?
  • Что такое формы?
  • Что такое div?
  • Что такое селекторы?
  • Что такое свойства?
  • Что такое значения?
  • Что такое «строка запроса» в URL и что она делает?
  • В чем разница между «пикселями» и «em»?
  • Как наследуются CSS-стили для конкретного элемента? То есть, как элемент получает свои «стандартные» стили?
  • Какие два CSS-атрибута вы можете изменить, чтобы сдвинуть элемент на странице?
  • Назовите три разных способа включить CSS в ваш проект или использовать CSS для стилизации конкретного элемента
  • Что такое «стандартные стили» или «разметка user agent»?
  • Зачем использовать файл сброса CSS-стилей?

Задания:

  1. Пройдите курс Codecademy по HTML/CSS, чтобы получить фундаментальное понимание HTML и CSS. Возможно, вам будет полезно использовать карточки для запоминания наиболее часто используемых элементов.
  2. Чтобы заполнить пробелы, прочтите руководство по HTML для начинающего от HTML Dog и руководство по CSS для начинающего от него же и HTML Dog intermediate CSS tutorial. Они должны даться вам довольно легко, поскольку вы уже видели многое из них ранее, но так же найдете и новую информацию.
  3. Создайте логотип Android, используя только HTML и CSS, подсматривая в это видео с отличного сайта The Code Player, который похож на туториал, но на самом деле выполняет код по мере того, как автор вводит его. Используйте свой текстовый редактор, JSFiddle или CodePen для создания лого.
    • Замечание: Вы увидите, что border-radius, -moz-border-radius и -webkit-border-radius используются одинаково. Это сделано специально, чтобы все выглядело одинаково во всех браузерах. Вам, скорее всего, нужно будет использовать только border-radius, чтобы получить желаемый эффект.
  4. Узнайте о простых формах из этого видео от Treehouse и используйте эту страницу w3 в качестве справочника.
  5. Опционально: Узнайте о стандартных стилях вашего браузера и ресет-файлах CSS в этом видео(ресеты начинаются на отметке 2:00). Именно из-за стандартных стилей вы иногда можете видеть в браузере пробелы там, где вы их не ставили или стили, которых вы не писали. Разработчики практически всегда используют CSS-ресеты, чтобы избавиться от стандартных стилей и писать внешний вид с нуля. Если вам все еще любопытно, вот длинное видео про ресеты…

Дополнительные ресурсы

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

Поделиться уроком:

HTML-стилей CSS


CSS — это каскадные таблицы стилей.

CSS экономит много работы. Он может управлять макетом нескольких
веб-страницы сразу.


Управление текстом

цветов,
Ящики


Что такое CSS?

Каскадные таблицы стилей (CSS) используются для форматирования макета веб-страницы.

С помощью CSS вы можете управлять цветом, шрифтом, размером текста, интервалом.
между элементами, как элементы расположены и расположены, какой фон
должны использоваться изображения или цвета фона, разные дисплеи для разных устройств
и размеры экрана, и многое другое!

Совет: Слово каскадно означает, что стиль
примененный к родительскому элементу, также будет применяться ко всем дочерним элементам в пределах
родитель.Итак, если вы установите цвет основного текста на «синий», все заголовки,
абзацы и другие текстовые элементы в теле также получат тот же цвет (если вы не укажете
что-то другое)!


Использование CSS

CSS можно добавить в HTML-документы 3 способами:

  • Inline — с использованием атрибута стиля внутри HTML-элементов
  • Внутренний — с использованием элемента