Содержание

Основы HTML

Содержание:

  1. Основные понятия
  2. История
  3. Общая структура

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

HTML (HyperText Markup Language) — язык разметки гипертекста — предназначен для создания Web-страниц.
Под гипертекстом в этом случае понимается текст, связанный с другими текстами указателями-ссылками.

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

HTML не задает конкретные и точные атрибуты форматирования документа. Конкретный вид документа окончательно определяет только программа-браузер на компьютере пользователя Интернета. 
HTML также не является языком программирования, но web-страницы могут включать в себя встроенные программы-скрипты на языках

Javascript и Visual Basic Script и программы-апплеты на языке Java.

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

Основными компонентами HTML являются:

  • Тег (tag). Тег HTML это компонент, который командует Web- броузеру выполнить определенную задачу типа создания абзаца или вставки изображения.
  • Атрибут (или аргумент). Атрибут HTML изменяет тег. Например, можно выровнять абзац или изображение внутри тега.
  • Значение. Значения присв

Является ли HTML языком программирования / Хабр

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

Определение языка программирования


Язы́к программи́рованияформальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под её управлением.

Так сказано в Википедии, и большинство остальных ресурсов либо полностью употребляет это определение, либо вольно излагает его без потери смысла. Рассмотрим поподробнее составные части определения ЯП:

  • Формальный язык
    — это множество конечных слов (строк, цепочек) над конечным алфавитом.
  • Знаковая система — это система однообразно интерпретируемых и трактуемых сообщений/сигналов, которыми можно обмениваться в процессе общения. Иногда знаковые системы помогают структурировать процесс общения с целью придания ему некой адекватности в плане реакций его участников на те или иные «знаки». В качестве примера знаковой системы обычно приводят язык (как в письменной форме так и, в случае естественных языков, в форме речи).
  • Компью́терная програ́мма — последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины.
  • Ле́ксика — совокупность слов того или иного языка, части языка или слов, которые знает тот или иной человек или группа людей.
  • Синтаксис — сторона языка программирования, которая описывает структуру программ как наборов символов (обычно говорят — безотносительно к содержанию). Синтаксису языка противопоставляется его семантика. Синтаксис языка описывает «чистый» язык, в то же время семантика приписывает значения (действия) различным синтаксическим конструкциям.
  • Сема́нтика в программировании — дисциплина, изучающая формализации значений конструкций языков программирования посредством построения их формальных математических моделей. В качестве инструментов построения таких моделей могут использоваться различные средства, например, математическая логика, λ-исчисление, теория множеств, теория категорий, теория моделей, универсальная алгебра. Формализация семантики языка программирования может использоваться как для описания языка, определения свойств языка, так и для целей формальной верификации программ на этом языке программирования.
  • Язы́к — знаковая система, соотносящая понятийное содержание и типовое звучание (написание).

Более простым языком это может быть изложено так:

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

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

Виды языков программирования



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

Рассмотрим поближе определения разных типов по версии Википедии:

  • Аспе́ктно-ориенти́рованное программи́рование (АОП) — парадигма программирования, основанная на идее разделения функциональности для улучшения разбиения программы на модули.
  • Структу́рное программи́рование — методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков. Предложена в 70-х годах XX века Э. Дейкстрой, разработана и дополнена Н. Виртом.
  • Процедурное программирование — программирование на императивном языке, при котором последовательно выполняемые операторы можно собрать в подпрограммы, то есть более крупные целостные единицы кода, с помощью механизмов самого языка[1].
  • Логи́ческое программи́рование — парадигма программирования, основанная на автоматическом доказательстве теорем, а также раздел дискретной математики, изучающий принципы логического вывода информации на основе заданных фактов и правил вывода. Логическое программирование основано на теории и аппарате математической логики с использованием математических принципов резолюций.
  • Объе́ктно-ориенти́рованное программи́рование (ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов. В случае языков с прототипированием вместо классов используются объекты-прототипы.
  • Функциона́льное программи́рование — раздел дискретной математики и парадигма программирования, в которой процесс вычисления трактуется как вычисление значений функций в математическом понимании последних (в отличие от функций как подпрограмм в процедурном программировании).
  • Мультипарадигма́льный язы́к программи́рования — как правило, язык программирования, который был разработан специально как инструмент мультипарадигмального программирования, то есть изобразительные возможности которого изначально предполагалось унаследовать от нескольких, чаще всего неродственных языков.
  • Эзотерический язык программирования — язык программирования, разработанный для исследования границ возможностей разработки языков программирования, для доказательства потенциально возможной реализации некой идеи (так называемое «доказательство концепции», англ. proof of concept), в качестве произведения программного искусства[en], или в качестве шутки (компьютерного юмора).

Императивный и декларативный подход



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

Программа на императивном языке программирования с математической точки зрения представляет собой общее решение поставленной задачи, иными словами, ответ на вопрос «как делать?». Это последовательность команд, которые должен выполнить исполнитель.

Программа на декларативном языке программирования является сочетанием формализованной в рамках языка программирования задачей и всех необходимых для её решения теорем, проще говоря, ответ на вопрос «что делать?». Конкретную последовательность выполняемых действий выполняет компилятор, или чаще интерпретатор – программа, в реальном времени выполняющая код программы без его преобразования в машинный код.

Полнота по Тьюрингу


В теории вычислимости исполнитель (множество вычисляющих элементов) называется тьюринг-полным, если на нём можно реализовать любую вычислимую функцию. Другими словами, для каждой вычислимой функции существует вычисляющий её элемент (например, машина Тьюринга) или программа для исполнителя, а все функции, вычисляемые множеством вычислителей, являются вычислимыми функциями (возможно, при некотором кодировании входных и выходных данных).
Название пошло от Алана Тьюринга, который придумал абстрактный вычислитель — машину Тьюринга и дал определение множества функций, вычислимых посредством машин Тьюринга.
Другими словами язык является
полным по Тьюрингу
, если любая вычислимая функция, которая Вам нужна, может быть записана на этом языке и решена его исполнителем.

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

Ответим на несколько вопросов:


  1. HTML — это язык?

    Да. Он имеет свойства, присущие языкам.

  2. HTML — соответствует определению языка программирования?

    Да. Он имеет синтаксис, семантику, лексику, он является языком и попадает в категорию декларативных языков программирования.

  3. HTML — является Тьюринг-полным языком?

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

  4. Можно ли называть HTML языком программирования?

    В зависимости от контекста — да, можно. Но при этом следует помнить, что с таким же успехом можно назвать ЯП и CSS и XML и SQL. Другими словами данные языки формально могут быть названы языками программирования, но только с определенной долей скептицизма и с полным понимаем того, что эти языки не удовлетворяют всем требованиям.

  5. Является ли HTML языком программирования?

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

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

Что такое HTML (и почему это важно)

HTML — осно­ва все­го, что про­ис­хо­дит внут­ри ваше­го бра­у­зе­ра. Если вы зна­е­те HTML, то може­те сами созда­вать сай­ты, кра­си­во оформ­лять ста­тьи и доку­мен­ты в интер­не­те и даже устро­ить­ся на рабо­ту веб-разработчиком. Давай­те коп­нём.

Как это работает

HTML — это язык гипер­тек­сто­вой раз­мет­ки доку­мен­тов (HyperText Markup Language). По-русски: это набор команд, кото­рые гово­рят нашим бра­у­зе­рам, как рисо­вать сай­ты. Напри­мер:

<h2>Это заголовок</h2>
<p>Это абзац текста <a href="...">с гиперссылкой</a>.</p>
<ul>
  <li>Это элемент ненумерованного списка</li>
  <li>И ещё один</li>
</ul>

Сло­ва внут­ри угло­вых ско­бок назы­ва­ют­ся тега­ми: <h2>,<p> и т. д. Теги гово­рят бра­у­зе­ру, как имен­но нуж­но отоб­ра­зить тот или иной текст, где раз­ме­стить кар­тин­ку или какую сде­лать кноп­ку.

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

Это заголовок

Это абзац тек­ста с гиперс­сыл­кой.

  • Это эле­мент нену­ме­ро­ван­но­го спис­ка
  • И ещё один

В мире есть мно­го подоб­ных язы­ков: тек­сто­вые редак­то­ры Microsoft Word и Apple Pages тоже исполь­зу­ют соб­ствен­ные язы­ки раз­мет­ки, что­бы сохра­нить инфор­ма­цию об оформ­ле­нии доку­мен­та. Даже когда вы в них пише­те про­стой текст, эти редак­то­ры добав­ля­ют в доку­мент неви­ди­мую инфор­ма­цию о внеш­нем виде тек­ста.

Зачем нужен HTML

HTML — глав­ный язык в интер­не­те, на кото­ром напи­са­но боль­шин­ство доку­мен­тов. Каж­дый абзац тек­ста в интер­не­те, ско­рее все­го, завёр­нут в теги <p>…</p> и каж­дая ссыл­ка, на кото­рую вы нажи­ма­ли, точ­но была завёр­ну­та в теги <a>…</a>. Коро­че: это язык, на кото­ром напи­сан весь интер­нет.

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

— Но я не обмениваюсь документами!

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

  1. Вы наби­ра­е­те yandex.ru в адрес­ной стро­ке бра­у­зе­ра или печа­та­е­те пря­мо там свой поис­ко­вый запрос.
  2. Какие-то сер­ве­ры, при­над­ле­жа­щие Яндек­су, созда­ют для вас новый доку­мент — глав­ную стра­ни­цу yandex.ru или стра­ни­цу с резуль­та­та­ми поис­ка. Этот доку­мент отправ­ля­ет­ся на ваш ком­пью­тер.
  3. Ваш бра­у­зер полу­ча­ет этот доку­мент, он напи­сан на язы­ке HTML. Бра­у­зер чита­ет все теги и инструк­ции и пока­зы­ва­ет резуль­тат на экране в виде пик­се­лей. Вам может пока­зать­ся, что это вы при­шли в Яндекс, но на самом деле это Яндекс отпра­вил вам доку­мент с резуль­та­та­ми поис­ка.
  4. Вы нажи­ма­е­те на ссыл­ку в этом доку­мен­те, и ваш бра­у­зер запра­ши­ва­ет новый доку­мент с дру­го­го сер­ве­ра. В ответ вам сно­ва при­хо­дит HTML-документ.
  5. Бра­у­зер откры­ва­ет полу­чен­ный доку­мент в новой вклад­ке.
  6. Кажет­ся, что вы пере­шли на новый сайт, но на самом деле вы ска­ча­ли с это­го сай­та доку­мент, кото­рый выгля­дит как стра­ни­ца.

По-простому, в интер­не­те вы нику­да не «ходи­те». Ско­рее вы ска­чи­ва­е­те доку­мен­ты, кото­рые для вас фор­ми­ру­ют сер­ве­ры раз­ных ком­па­ний. Эти доку­мен­ты напи­са­ны на HTML.

Зачем знать HTML

Если вы зна­е­те основ­ные HTML-теги, то вы може­те:

  • созда­вать свои и редак­ти­ро­вать чужие стра­ни­цы и целые сай­ты; настра­и­вать гото­вые сай­ты и шаб­ло­ны;
  • кон­тро­ли­ро­вать внеш­ний вид сво­их мате­ри­а­лов при их пуб­ли­ка­ции на раз­ных сай­тах;
  • ста­щить чей-то макет или фраг­мен­ты кода и исполь­зо­вать их в сво­их сай­тах;
  • обхо­дить неко­то­рые пей­во­лы и бло­ки­ров­ки досту­па к закры­то­му кон­тен­ту.

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

Вот основ­ные теги, кото­рые исполь­зу­ют­ся в HTML:

<head>…</head> — слу­жеб­ная область на стра­ни­це, кото­рая не пока­зы­ва­ет­ся в бра­у­зе­ре, но вли­я­ет на стра­ни­цу в целом. <title>…</title> — нахо­дит­ся внут­ри <head>. Текст, кото­рый напи­сан внут­ри это­го тега, отоб­ра­жа­ет­ся в назва­нии вклад­ки и в заклад­ках бра­у­зе­ра. <body>…</body> — види­мая часть стра­ни­цы. Всё, что вы види­те, про­ис­хо­дит внут­ри этих тегов. <h2>…</h2>, <h3>…</h3> и так далее — заго­лов­ки раз­но­го уров­ня. <p>…</p> — абзац. <a href=»…»>…</a> — гиперс­сыл­ка. Свой­ство «href» отве­ча­ет за адрес ссыл­ки. <img src=»…»> — кар­тин­ка. Свой­ство «src» отве­ча­ет за адрес, по кото­ро­му лежит изоб­ра­же­ние, что­бы бра­у­зер мог запро­сить её отту­да, ска­чать и пока­зать на экране. <ul><li>…</li></ul> — нену­ме­ро­ван­ный спи­сок с одним эле­мен­том внут­ри. Что­бы эле­мен­тов было боль­ше, добавь­те <li>…</li> внутрь <ul>…</ul>. <ol><li>…</li></ol> — нуме­ро­ван­ный спи­сок. <div>…</div> — уни­вер­саль­ный блок внут­ри стра­ни­цы. Его мож­но настро­ить, что­бы содер­жи­мое выгля­де­ло и рабо­та­ло как угод­но, от назой­ли­вой всплы­ваш­ки до кноп­ки под­твер­жде­ния. <span>…</span> — с помо­щью это­го тега мож­но менять внеш­ний вид выбран­но­го тек­ста. Напри­мер, выде­лить его жёл­тым, как мар­ке­ром на бума­ге. <table><tbody><tr><td>…</td><td>…</td></tr></tbody></table> — мини­маль­ный набор тегов, что­бы сде­лать таб­ли­цу. TR отве­ча­ет за стро­ки в таб­ли­це (table row), а TD — за ячей­ки в этой стро­ке (table division). Мы вкла­ды­ва­ем один тег в дру­гой: ячей­ки живут внут­ри строк, стро­ки — внут­ри <tbody>, и всё это живёт внут­ри тега <table>. Ещё есть <TH>, кото­рый отве­ча­ет за первую стро­ку таб­ли­цы (её назы­ва­ют голов­кой), но мы туда сей­час не поле­зем.

Нужно ли это учить?

В интер­не­те пол­но инфор­ма­ции про HTML, поэто­му нет необ­хо­ди­мо­сти что-то заучи­вать спе­ци­аль­но. Но если вы буде­те регу­ляр­но что-то вер­стать в HTML, вы и сами всё выучи­те. Это как ходь­ба или езда на вело­си­пе­де.

Если поду­мать, то при­выч­ные веб-страницы в каком-то смыс­ле уми­ра­ют, и HTML мед­лен­но теря­ет свою акту­аль­ность. 20 лет назад веб-страницы были един­ствен­ным спо­со­бом раз­ме­стить что-то в Сети, а для это­го абсо­лют­но точ­но нуж­но было знать HTML. Теперь у нас есть соци­аль­ные сети и плат­фор­мы для пуб­ли­ка­ций, кото­рые не тре­бу­ют зна­ния HTML. А у тех плат­форм, кото­рые тре­бу­ют, есть WYSIWYG-редакторы — они сра­зу поз­во­ля­ют фор­ма­ти­ро­вать текст как в Microsoft Word. Поэто­му в буду­щем может появить­ся поко­ле­ние интернет-пользователей, кото­рые ни разу в жиз­ни не столк­нут­ся с HTML-кодом в сво­их про­ек­тах.

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

Ско­ро всё пока­жем!

HTML — Википедия

HTML (от англ. HyperText Markup Language — «язык гипертекстовой разметки») — стандартизированный язык разметки документов во Всемирной паутине. Большинство веб-страниц содержат описание разметки на языке HTML (или XHTML). Язык HTML интерпретируется браузерами; полученный в результате интерпретации форматированный текст отображается на экране монитора компьютера или мобильного устройства.

Язык HTML до 5-й версии определялся как приложение SGML (стандартного обобщённого языка разметки по стандарту ISO 8879). Спецификации HTML5 формулируются в терминах DOM (объектной модели документа).

Язык XHTML является более строгим вариантом HTML, он следует синтаксису XML и является приложением языка XML в области разметки гипертекста.

Во всемирной паутине HTML-страницы, как правило, передаются браузерам от сервера по протоколам HTTP или HTTPS, в виде простого текста или с использованием шифрования.

Общее представление

Язык HTML был разработан британским учёным Тимом Бернерсом-Ли приблизительно в 1986—1991 годах в стенах ЦЕРНа в Женеве в Швейцарии. HTML создавался как язык для обмена научной и технической документацией, пригодный для использования людьми, не являющимися специалистами в области вёрстки. HTML успешно справлялся с проблемой сложности SGML путём определения небольшого набора структурных и семантических элементов — дескрипторов. Дескрипторы также часто называют «тегами». С помощью HTML можно легко создать относительно простой, но красиво оформленный документ. Помимо упрощения структуры документа, в HTML внесена поддержка гипертекста. Мультимедийные возможности были добавлены позже.

Изначально язык HTML был задуман и создан как средство структурирования и форматирования документов без их привязки к средствам воспроизведения (отображения). В идеале, текст с разметкой HTML должен был без стилистических и структурных искажений воспроизводиться на оборудовании с различной технической оснащённостью (цветной экран современного компьютера, монохромный экран органайзера, ограниченный по размерам экран мобильного телефона или устройства и программы голосового воспроизведения текстов). Однако современное применение HTML очень далеко от его изначальной задачи. Например, тег <table> предназначен для создания в документах таблиц, но иногда используется и для оформления размещения элементов на странице. С течением времени основная идея платформонезависимости языка HTML была принесена в жертву современным потребностям в мультимедийном и графическом оформлении.

Браузеры

Текстовые документы, содержащие разметку на языке HTML (такие документы традиционно имеют расширение .html или .htm), обрабатываются специальными приложениями, которые отображают документ в его форматированном виде. Такие приложения, называемые «браузерами» или «интернет-обозревателями», обычно предоставляют пользователю удобный интерфейс для запроса веб-страниц, их просмотра (и вывода на иные внешние устройства) и, при необходимости, отправки введённых пользователем данных на сервер. Наиболее популярными на сегодняшний день браузерами являются Google Chrome, Mozilla Firefox, Opera, Internet Explorer и Safari (см.: Браузер#Рыночные доли).

Версии

Официальной спецификации HTML 1.0 не существует. До 1995 года существовало множество неофициальных стандартов HTML. Чтобы стандартная версия отличалась от них, ей сразу присвоили второй номер.

Версия 3 была предложена Консорциумом Всемирной паутины (W3C) в марте 1995 года и обеспечивала много новых возможностей, таких как создание таблиц, «обтекание» изображений текстом и отображение сложных математических формул, поддержка gif формата. Даже при том, что этот стандарт был совместим со второй версией, реализация его была сложна для браузеров того времени. Версия 3.1 официально никогда не предлагалась, и следующей версией стандарта HTML стала 3.2, в которой были опущены многие нововведения версии 3.0, но добавлены нестандартные элементы, поддерживаемые браузерами Netscape Navigator и Mosaic.

В версии HTML 4.0 произошла некоторая «очистка» стандарта. Многие элементы были отмечены как устаревшие и не рекомендованные (англ. deprecated). В частности, тег <font>, используемый для изменения свойств шрифта, был помечен как устаревший (вместо него рекомендуется использовать таблицы стилей CSS).

В 1998 году Консорциум Всемирной паутины начал работу над новым языком разметки, основанным на HTML 4, но соответствующим синтаксису XML. Впоследствии новый язык получил название XHTML. Первая версия XHTML 1.0 одобрена в качестве Рекомендации консорциума Всемирной паутины 26 января 2000 года.

Планируемая версия XHTML 2.0 должна была разорвать совместимость со старыми версиями HTML и XHTML, но 2 июля 2009 года Консорциум Всемирной паутины объявил, что полномочия рабочей группы XHTML2 истекают в конце 2009 года. Таким образом, была приостановлена вся дальнейшая разработка стандарта XHTML 2.0[19].

Перспективы

В настоящее время Консорциум Всемирной паутины разработал HTML версии 5. Черновой вариант спецификации языка появился в Интернете 20 ноября 2007 года.

Сообществом WHATWG (англ. Web Hypertext Application Technology Working Group), начиная с 2004 года[20], разрабатывается спецификация Web Applications 1.0, часто неофициально называемая «HTML 5», которая расширяет HTML (впрочем, имея и совместимый с XHTML 1.0 XML-синтаксис) для лучшего представления семантики различных типичных страниц, например форумов, сайтов аукционов, поисковых систем, онлайн-магазинов и т. д., которые не очень удачно вписываются в модель XHTML 2.0.

Структура HTML-документа

HTML — теговый язык разметки документов. Любой документ на языке HTML представляет собой набор элементов, причём начало и конец каждого элемента обозначается специальными пометками — тегами. Элементы могут быть пустыми, то есть не содержащими никакого текста и других данных. В этом случае обычно не указывается закрывающий тег (например, тег переноса строки <br> — одиночный и закрывать его не нужно) . Кроме того, элементы могут иметь атрибуты, определяющие какие-либо их свойства (например, атрибут href=" у ссылки). Атрибуты указываются в открывающем теге. Вот примеры фрагментов HTML-документа:

  • <strong>Текст между двумя тегами — открывающим и закрывающим.</strong>
  • <a href="http://www.example.com">Здесь элемент содержит атрибут href, то есть гиперссылку.</a>
  • А вот пример пустого элемента: <br>

Регистр, в котором набрано имя элемента и имена атрибутов, в HTML значения не имеет (в отличие от XHTML). Элементы могут быть вложенными. Например, следующий код:

<!DOCTYPE html>
<html>
   <head>
      <meta charset="utf-8" />
      <title>HTML Document</title>
   </head>
   <body>
      <p>
         <b>
            Этот текст будет полужирным, <i>а этот — ещё и курсивным</i>.
         </b>
      </p>
   </body>
</html>

даст такой результат:

Этот текст будет полужирным, а этот — ещё и курсивным.

Кроме элементов, в HTML-документах есть и сущности (англ. entities) — «специальные символы». Сущности начинаются с символа амперсанда и имеют вид &имя; или &#NNNN;, где NNNN — код символа в Юникоде в десятичной системе счисления.

Например, &copy; — знак авторского права (©). Как правило, сущности используются для представления символов, отсутствующих в кодировке документа, или же для представления «специальных» символов: &amp; — амперсанда (&), &lt; — символа «меньше» (<) и &gt; — символа «больше» (>), которые некорректно записывать «обычным» образом, из-за их особого значения в HTML.

Каждый HTML-документ, отвечающий спецификации HTML какой-либо версии, должен начинаться со строки объявления версии HTML <!DOCTYPE…>, которая обычно выглядит примерно так:

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
     "http://www.w3.org/TR/html4/strict.dtd">

Если эта строка не указана, то добиться корректного отображения документа в браузере становится труднее.

Далее обозначается начало и конец документа тегами <html> и </html> соответственно. Внутри этих тегов должны находиться теги заголовка (<head></head>) и тела (<body></body>) документа.

Варианты DOCTYPE для HTML 4.01

  • Строгий (Strict): не содержит элементов, помеченных как «устаревшие» или «не одобряемые» (deprecated).
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  • Переходный (Transitional): содержит устаревшие теги в целях совместимости и упрощения перехода со старых версий HTML.
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
     "http://www.w3.org/TR/html4/loose.dtd">
  • С фреймами (Frameset): аналогичен переходному, но содержит также теги для создания наборов фреймов.
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
     "http://www.w3.org/TR/html4/frameset.dtd">

Варианты DOCTYPE для HTML 5

В HTML 5 используется только один вариант DOCTYPE:

Браузерные войны

Рыночная доля браузеров по данным StatCounter

В середине 1990-х годов основные производители браузеров — компании Netscape и Microsoft — начали внедрять собственные наборы элементов в HTML-разметку. Создалась путаница из различных конструкций для работы во Всемирной паутине, доступных для просмотра то в одном, то в другом браузере. Особенно большие трудности были при создании кросс-браузерных программ на языке JavaScript. Веб-мастерам приходилось создавать несколько вариантов страниц или прибегать к другим ухищрениям. На какое-то время проблема потеряла актуальность по двум причинам:

  • Из-за вытеснения браузером Internet Explorer всех остальных браузеров. Соответственно, проблема веб-мастеров становилась проблемой пользователей альтернативных браузеров.
  • Благодаря усилиям производителей других браузеров, которые либо следовали стандартам W3C (как Mozilla и Opera), либо пытались создать максимальную совместимость с Internet Explorer.

На современном этапе можно констатировать рост популярности браузеров, следующих рекомендациям W3C (это Mozilla Firefox и другие браузеры на движке Gecko; Safari, Google Chrome, Opera и другие браузеры на движке WebKit). Доля Internet Explorer на январь 2016 года составляет менее 15 %[21].

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

См. также

  • SGML
  • XHTML
  • DHTML
  • HTML5
  • MHTML (сокращение для MIME HTML) — архивный формат веб-страниц, используемый для комбинирования кода HTML и ресурсов, которые обычно представлены в виде внешних ссылок в один файл.

Примечания

Литература

  • Э. Фримен, Э. Фримен. Изучаем HTML, XHTML и CSS = Head First HTML with CSS & XHTML. — П.: «Питер», 2010. — 656 с. — ISBN 978-5-49807-113-8.
  • Эд Титтел, Джефф Ноубл. HTML, XHTML и CSS для чайников, 7-е издание = HTML, XHTML & CSS For Dummies, 7th Edition. — М.: «Диалектика», 2011. — 400 с. — ISBN 978-5-8459-1752-2.
  • Питер Лабберс, Брайан Олберс, Фрэнк Салим. HTML5 для профессионалов: мощные инструменты для разработки современных веб-приложений = Pro HTML5 Programming: Powerful APIs for Richer Internet Application Development. — М.: «Вильямс», 2011. — 272 с. — ISBN 978-5-8459-1715-7.
  • Стивен Шафер. HTML, XHTML и CSS. Библия пользователя, 5-е издание = HTML, XHTML, and CSS Bible, 5th Edition. — М.: «Диалектика», 2010. — 656 с. — ISBN 978-5-8459-1676-1.
  • Фримен Эрик, Фримен Элизабет. Изучаем HTML, XHTML и CSS = Head First HTML with CSS & XHTML. — 1-е изд. — М.: «Питер», 2010. — С. 656. — ISBN 978-5-49807-113-8.

Ссылки

Что такое HTML и зачем это нужно.

 

Все мои уроки по HTML и верстке сайтов здесь.

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

Например, я открою страницу поисковой системы Яндекс.

Вся графика и текст, которую вы видите на странице, формируется при помощи HTML-кода.

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

По сути, все команды языка HTML, которые вы видите на изображении выше, это обычный текст, который может быть написан в любом текстовом редакторе. Изменив у текстового файла расширение на *.html (как это сделать мы поговорим позже) мы получаем полноценную веб-страницу, которую может обрабатывать браузер.

Теперь давайте разберемся с самим  определением и рассмотрим, что оно означает.

HTML – это аббревиатура, которая расшифровывается как HyperText Markup Language или в переводе на русский язык «Язык Разметки Гипертекста».

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

Язык.

HTML – в первую очередь, это язык с помощью которого можно сообщить браузеру информацию о том какие элементы есть на веб-странице и какую смысловую нагрузку они несут.

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

Разметка.

Прошу обратить внимание, что основная задача HTML – это сообщить браузеру о смысловой нагрузке, которую несут элементы на веб-странице.

HTML код позволяет «разметить» веб-страницу на отдельные элементы и сообщить браузеру какой элемент чем является.

Например, такая форма записи:

<p>Абзац</p>

Сообщает браузеру о том, что он имеет дело с абзацем.

А такая форма записи:

<h2>Заголовок</h2>

Говорит о том, что элемент является заголовком.

Из этого следует, что HTML не отвечает за внешний вид и оформление документа.

Чтобы убедиться в этом, давайте для примера возьмем одну веб-страницу и отключим на ней стили, которые отвечают за оформление и посмотрим, как она преобразится.

Страница со стилями оформления:

06-09-2013 8-55-51

Та же самая страница, но с отключенными стилями (используется только один HTML-код):

06-09-2013 8-56-11

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

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

Гипертекст.

И, наконец, последнее слово в определении языка HTML – это гиперссылка. На веб-страницах есть элемент, который делает эти страницы особенными и отличает их от обычного текста с картинками. Этот элемент — ссылки.

Ссылка – это такой элемент на странице, который делает возможным открытие другой части текущей страницы или совершенно другой страницы при клике по нему.

Приставка «гипер» означает то, что при клике на ссылку может открываться другой ресурс (страница) в сети интернет, который может располагаться на другом сервере.

HTML – это язык, который разрабатывался специально для того, чтобы создавать страницы, которые содержат гиперссылки.

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

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

Все мои уроки по HTML и верстке сайтов здесь.

HTML — Википедия

HTML (от англ. HyperText Markup Language — «язык гипертекстовой разметки») — стандартизированный язык разметки документов во Всемирной паутине. Большинство веб-страниц содержат описание разметки на языке HTML (или XHTML). Язык HTML интерпретируется браузерами; полученный в результате интерпретации форматированный текст отображается на экране монитора компьютера или мобильного устройства.

Язык HTML до 5-й версии определялся как приложение SGML (стандартного обобщённого языка разметки по стандарту ISO 8879). Спецификации HTML5 формулируются в терминах DOM (объектной модели документа).

Язык XHTML является более строгим вариантом HTML, он следует синтаксису XML и является приложением языка XML в области разметки гипертекста.

Во всемирной паутине HTML-страницы, как правило, передаются браузерам от сервера по протоколам HTTP или HTTPS, в виде простого текста или с использованием шифрования.

Общее представление

Язык HTML был разработан британским учёным Тимом Бернерсом-Ли приблизительно в 1986—1991 годах в стенах ЦЕРНа в Женеве в Швейцарии. HTML создавался как язык для обмена научной и технической документацией, пригодный для использования людьми, не являющимися специалистами в области вёрстки. HTML успешно справлялся с проблемой сложности SGML путём определения небольшого набора структурных и семантических элементов — дескрипторов. Дескрипторы также часто называют «тегами». С помощью HTML можно легко создать относительно простой, но красиво оформленный документ. Помимо упрощения структуры документа, в HTML внесена поддержка гипертекста. Мультимедийные возможности были добавлены позже.

Изначально язык HTML был задуман и создан как средство структурирования и форматирования документов без их привязки к средствам воспроизведения (отображения). В идеале, текст с разметкой HTML должен был без стилистических и структурных искажений воспроизводиться на оборудовании с различной технической оснащённостью (цветной экран современного компьютера, монохромный экран органайзера, ограниченный по размерам экран мобильного телефона или устройства и программы голосового воспроизведения текстов). Однако современное применение HTML очень далеко от его изначальной задачи. Например, тег <table> предназначен для создания в документах таблиц, но иногда используется и для оформления размещения элементов на странице. С течением времени основная идея платформонезависимости языка HTML была принесена в жертву современным потребностям в мультимедийном и графическом оформлении.

Браузеры

Текстовые документы, содержащие разметку на языке HTML (такие документы традиционно имеют расширение .html или .htm), обрабатываются специальными приложениями, которые отображают документ в его форматированном виде. Такие приложения, называемые «браузерами» или «интернет-обозревателями», обычно предоставляют пользователю удобный интерфейс для запроса веб-страниц, их просмотра (и вывода на иные внешние устройства) и, при необходимости, отправки введённых пользователем данных на сервер. Наиболее популярными на сегодняшний день браузерами являются Google Chrome, Mozilla Firefox, Opera, Internet Explorer и Safari (см.: Браузер#Рыночные доли).

Версии

Официальной спецификации HTML 1.0 не существует. До 1995 года существовало множество неофициальных стандартов HTML. Чтобы стандартная версия отличалась от них, ей сразу присвоили второй номер.

Версия 3 была предложена Консорциумом Всемирной паутины (W3C) в марте 1995 года и обеспечивала много новых возможностей, таких как создание таблиц, «обтекание» изображений текстом и отображение сложных математических формул, поддержка gif формата. Даже при том, что этот стандарт был совместим со второй версией, реализация его была сложна для браузеров того времени. Версия 3.1 официально никогда не предлагалась, и следующей версией стандарта HTML стала 3.2, в которой были опущены многие нововведения версии 3.0, но добавлены нестандартные элементы, поддерживаемые браузерами Netscape Navigator и Mosaic.

В версии HTML 4.0 произошла некоторая «очистка» стандарта. Многие элементы были отмечены как устаревшие и не рекомендованные (англ. deprecated). В частности, тег <font>, используемый для изменения свойств шрифта, был помечен как устаревший (вместо него рекомендуется использовать таблицы стилей CSS).

В 1998 году Консорциум Всемирной паутины начал работу над новым языком разметки, основанным на HTML 4, но соответствующим синтаксису XML. Впоследствии новый язык получил название XHTML. Первая версия XHTML 1.0 одобрена в качестве Рекомендации консорциума Всемирной паутины 26 января 2000 года.

Планируемая версия XHTML 2.0 должна была разорвать совместимость со старыми версиями HTML и XHTML, но 2 июля 2009 года Консорциум Всемирной паутины объявил, что полномочия рабочей группы XHTML2 истекают в конце 2009 года. Таким образом, была приостановлена вся дальнейшая разработка стандарта XHTML 2.0[19].

Перспективы

В настоящее время Консорциум Всемирной паутины разработал HTML версии 5. Черновой вариант спецификации языка появился в Интернете 20 ноября 2007 года.

Сообществом WHATWG (англ. Web Hypertext Application Technology Working Group), начиная с 2004 года[20], разрабатывается спецификация Web Applications 1.0, часто неофициально называемая «HTML 5», которая расширяет HTML (впрочем, имея и совместимый с XHTML 1.0 XML-синтаксис) для лучшего представления семантики различных типичных страниц, например форумов, сайтов аукционов, поисковых систем, онлайн-магазинов и т. д., которые не очень удачно вписываются в модель XHTML 2.0.

Структура HTML-документа

HTML — теговый язык разметки документов. Любой документ на языке HTML представляет собой набор элементов, причём начало и конец каждого элемента обозначается специальными пометками — тегами. Элементы могут быть пустыми, то есть не содержащими никакого текста и других данных. В этом случае обычно не указывается закрывающий тег (например, тег переноса строки <br> — одиночный и закрывать его не нужно) . Кроме того, элементы могут иметь атрибуты, определяющие какие-либо их свойства (например, атрибут href=" у ссылки). Атрибуты указываются в открывающем теге. Вот примеры фрагментов HTML-документа:

  • <strong>Текст между двумя тегами — открывающим и закрывающим.</strong>
  • <a href="http://www.example.com">Здесь элемент содержит атрибут href, то есть гиперссылку.</a>
  • А вот пример пустого элемента: <br>

Регистр, в котором набрано имя элемента и имена атрибутов, в HTML значения не имеет (в отличие от XHTML). Элементы могут быть вложенными. Например, следующий код:

<!DOCTYPE html>
<html>
   <head>
      <meta charset="utf-8" />
      <title>HTML Document</title>
   </head>
   <body>
      <p>
         <b>
            Этот текст будет полужирным, <i>а этот — ещё и курсивным</i>.
         </b>
      </p>
   </body>
</html>

даст такой результат:

Этот текст будет полужирным, а этот — ещё и курсивным.

Кроме элементов, в HTML-документах есть и сущности (англ. entities) — «специальные символы». Сущности начинаются с символа амперсанда и имеют вид &имя; или &#NNNN;, где NNNN — код символа в Юникоде в десятичной системе счисления.

Например, &copy; — знак авторского права (©). Как правило, сущности используются для представления символов, отсутствующих в кодировке документа, или же для представления «специальных» символов: &amp; — амперсанда (&), &lt; — символа «меньше» (<) и &gt; — символа «больше» (>), которые некорректно записывать «обычным» образом, из-за их особого значения в HTML.

Каждый HTML-документ, отвечающий спецификации HTML какой-либо версии, должен начинаться со строки объявления версии HTML <!DOCTYPE…>, которая обычно выглядит примерно так:

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
     "http://www.w3.org/TR/html4/strict.dtd">

Если эта строка не указана, то добиться корректного отображения документа в браузере становится труднее.

Далее обозначается начало и конец документа тегами <html> и </html> соответственно. Внутри этих тегов должны находиться теги заголовка (<head></head>) и тела (<body></body>) документа.

Варианты DOCTYPE для HTML 4.01

  • Строгий (Strict): не содержит элементов, помеченных как «устаревшие» или «не одобряемые» (deprecated).
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  • Переходный (Transitional): содержит устаревшие теги в целях совместимости и упрощения перехода со старых версий HTML.
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
     "http://www.w3.org/TR/html4/loose.dtd">
  • С фреймами (Frameset): аналогичен переходному, но содержит также теги для создания наборов фреймов.
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
     "http://www.w3.org/TR/html4/frameset.dtd">

Варианты DOCTYPE для HTML 5

В HTML 5 используется только один вариант DOCTYPE:

Браузерные войны

Рыночная доля браузеров по данным StatCounter

В середине 1990-х годов основные производители браузеров — компании Netscape и Microsoft — начали внедрять собственные наборы элементов в HTML-разметку. Создалась путаница из различных конструкций для работы во Всемирной паутине, доступных для просмотра то в одном, то в другом браузере. Особенно большие трудности были при создании кросс-браузерных программ на языке JavaScript. Веб-мастерам приходилось создавать несколько вариантов страниц или прибегать к другим ухищрениям. На какое-то время проблема потеряла актуальность по двум причинам:

  • Из-за вытеснения браузером Internet Explorer всех остальных браузеров. Соответственно, проблема веб-мастеров становилась проблемой пользователей альтернативных браузеров.
  • Благодаря усилиям производителей других браузеров, которые либо следовали стандартам W3C (как Mozilla и Opera), либо пытались создать максимальную совместимость с Internet Explorer.

На современном этапе можно констатировать рост популярности браузеров, следующих рекомендациям W3C (это Mozilla Firefox и другие браузеры на движке Gecko; Safari, Google Chrome, Opera и другие браузеры на движке WebKit). Доля Internet Explorer на январь 2016 года составляет менее 15 %[21].

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

См. также

  • SGML
  • XHTML
  • DHTML
  • HTML5
  • MHTML (сокращение для MIME HTML) — архивный формат веб-страниц, используемый для комбинирования кода HTML и ресурсов, которые обычно представлены в виде внешних ссылок в один файл.

Примечания

Литература

  • Э. Фримен, Э. Фримен. Изучаем HTML, XHTML и CSS = Head First HTML with CSS & XHTML. — П.: «Питер», 2010. — 656 с. — ISBN 978-5-49807-113-8.
  • Эд Титтел, Джефф Ноубл. HTML, XHTML и CSS для чайников, 7-е издание = HTML, XHTML & CSS For Dummies, 7th Edition. — М.: «Диалектика», 2011. — 400 с. — ISBN 978-5-8459-1752-2.
  • Питер Лабберс, Брайан Олберс, Фрэнк Салим. HTML5 для профессионалов: мощные инструменты для разработки современных веб-приложений = Pro HTML5 Programming: Powerful APIs for Richer Internet Application Development. — М.: «Вильямс», 2011. — 272 с. — ISBN 978-5-8459-1715-7.
  • Стивен Шафер. HTML, XHTML и CSS. Библия пользователя, 5-е издание = HTML, XHTML, and CSS Bible, 5th Edition. — М.: «Диалектика», 2010. — 656 с. — ISBN 978-5-8459-1676-1.
  • Фримен Эрик, Фримен Элизабет. Изучаем HTML, XHTML и CSS = Head First HTML with CSS & XHTML. — 1-е изд. — М.: «Питер», 2010. — С. 656. — ISBN 978-5-49807-113-8.

Ссылки

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

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

Что такое 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><h6>, хотя обычно вы будете использовать не более 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: руководства и уроки.

В этом модуле

Simple English Wikipedia, бесплатная энциклопедия


Язык гипертекстовой разметки ( HTML ) — это язык разметки [1] для создания веб-страниц. Веб-страницы обычно просматриваются в веб-браузере. Они могут включать текст, ссылки, изображения и даже звук и видео. HTML используется для обозначения и описания каждого из этих типов контента, чтобы веб-браузер мог правильно их отображать. HTML также добавляет метаинформацию на веб-страницу. Метаинформация обычно не отображается веб-браузерами и представляет собой данные о веб-странице, т.е.g., имя человека, создавшего страницу. Каскадные таблицы стилей (CSS) используются для стилизации элементов HTML, в то время как JavaScript используется для поведения веб-сайта, а также для изменения HTML и CSS.

HTML был разработан Консорциумом Всемирной паутины (W3C). Есть несколько версий HTML. По состоянию на сентябрь 2018 года текущий стандарт HTML получил название HTML 5, а именно версию 5.2.

HTML использует «элементы», чтобы дать браузеру понять, из чего состоит веб-страница. Элементы показаны в коде как «теги», записанные в угловых скобках: .Теги обычно идут парами: открывающий тег определяет начало блока содержимого, а закрывающий тег определяет конец этого блока содержимого. Есть много разных типов тегов, и каждый из них имеет свое назначение. См. Примеры тегов Basic HTML Tags ниже.

Некоторые теги работают только в определенных браузерах. Например, тег , который используется для отображения чего-либо, когда человек нажимает правую кнопку мыши, работает только в браузере Mozilla Firefox. [2] Другие браузеры просто игнорируют этот тег и отображают запись нормально. Многие создатели веб-страниц избегают использования этих «нестандартных» тегов, потому что они хотят, чтобы их страницы выглядели одинаково во всех браузерах.

Вот пример страницы в HTML с надписью «Hello world!».

 

  
     Привет! 
  
  
    

Привет, мир!

Текст между и описывает веб-страницу, а текст между и — это содержимое страницы. Это заголовок определяет заголовок страницы браузера.

Вот несколько примеров тегов HTML: [примечание 1]

Имя тега Имя Функция Пример кода
Doctype Определяет тип документа
HTML Определяет документ HTML и запускает документ HTML.
Голова Содержит любой код, который не используется для отображения элементов на веб-странице.
<название> Заголовок Определяет заголовок веб-страницы (отображается на вкладке) и вводится в
Кузов Содержит видимые элементы веб-страницы.

до

заголовков Заголовки разного размера (

— самые крупные)

Пункт Определяет абзац текста
Якорь Создает активные ссылки на другие веб-страницы
  Посетите наш сайт 
 
Изображение Показывает изображение на странице
 Текст отображается, если изображение недоступно
 

Перерыв Вставляет одинарный разрыв строки
<центр> Центр Перемещает содержимое в центр страницы.
<сценарий> Скрипт Создает сценарий на веб-странице, обычно написанный на JavaScript.
 
 

Создание веб-страницы [изменить | изменить источник]

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

Во-первых, вам нужно найти место для ввода тегов HTML (я рекомендую блокнот) и ввести теги.

Вот еще один пример страницы HTML-тега.

Привет! <название> </p> <p> <h2><span class="ez-toc-section" id="_-_-_JavaScript_alert_-_-_-_-_HTML_HTML"> Привет, мир! </span></h2> </p> <p> </head> </p> <p> <тело> </p> <p> <p> </p> <p> Это страница HTML-тега.</p> <p> </p> </p> <p> <нижний колонтитул> </p> <p> Автор: * Укажите здесь имя * </p> <p> </footer> </p> <p> </html> </p> <p> Как только вы закончите, сохраните в этом формате: helloworld.htm </p> <p> (без пробелов) </p> <p> И готово! После того, как вы сохраните его на своем компьютере, если вы нажмете его, он отправит вас на вашу веб-страницу в Google! </p> <ol> <li> ↑ Здесь полный список HTML-элементов: <sup> [3] </sup> </li> </ol> . <h2><span class="ez-toc-section" id="_HTML-13"> Что такое HTML </span></h2> <hr/> <p> HTML означает <b> H </b> yper <b> T </b> ext <b> M </b> arkup <b> L </b> anguage </p> <p> HTML — это стандартный <b> язык разметки </b> для веб-страниц </p> <p> HTML <strong> элементов </strong> являются строительными блоками HTML-страниц </p> <p> HTML-элементов представлены тегами <strong> <> </strong> </p> <hr/> <h3><span class="ez-toc-section" id="HTML-3"> HTML-элементов </span></h3> <p> Элемент HTML — это начальный тег <strong> </strong> и конечный тег <strong> </strong> с промежуточным содержанием: </p> <p> <h2><span class="ez-toc-section" id="i-40"> Это заголовок </span></h2> <br/> </p> <table> <tr> <th> Начальный тег </th> <th> Содержание элемента </th> <th> Торцевая метка </th> </tr> <tr> <td> <h2><span class="ez-toc-section" id="i-41"> </td> <td> Это товарная позиция </td> <td> </span></h2> </td> </tr> <tr> <td> <p> </td> <td> Это абзац.</td> <td> </p> </td> </tr> </table> <hr/> <h3><span class="ez-toc-section" id="HTML-4"> HTML-атрибуты </span></h3> <ul> <li> HTML-элементов могут иметь <b> атрибутов </b> </li> <li> Атрибуты предоставляют <b> дополнительной информации </b> об элементе </li> <li> Атрибуты представлены парами имя / значение, например <b> charset = «utf-8» </b> </li>. </ul> <hr/> <h3><span class="ez-toc-section" id="_HTML-14"> Простой HTML-документ </span></h3> <br/> <p> <meta charset = "utf-8"> <br/> <title> Заголовок страницы


Это заголовок


Это абзац.


Это другой абзац.


Попробуйте сами »

Объяснение примера

HTML-элементов являются строительными блоками HTML-страниц.