Изучить язык html с нуля. Основы языка WEB программирования HTML

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

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

HTML - это язык разметки документов . Правильное произношение - Эйч Ти Эм Эль .

Вы, наверняка, работали когда-нибудь в редакторе документов Word или подобных офисных приложениях? Наверное вы знаете, что данный вид редакторов имеет богатые возможности для редактирования текста, расположения элементов, вставки картинок и т. д.

Зачем, спросите вы, писать в статье, посвященной HTML о текстовых процессорах? А вот зачем. Если разобраться, что такое офисный редактор? Это приложение для редактирования и отображения документов.

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

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

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

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

Этакий Word для HTML. Такие визуальные редакторы называются:

WYSIWYG редакторы - W hat Y ou S ee I s W hat Y ou G et. То есть, если перевести на русский: что видим, то и получаем.

Я их называю "вузивуги". Хоть это фонетически и не правильно, зато ярко свидетельствует о бессмысленности данного изобретения. Новички очень часто используют такие редакторы для создания своих первых сайтов. Конечно, это удобно - не нужно углубляться в изучение тегов, стилей оформления и прочих, на первый взгляд, неприятных и сложных вещей. Редактор сам автоматически преобразует наши действия в HTML код.

Но, как говорится, ни чего просто так не бывает. А если конкретнее - у такого подхода есть очень серьезные недостатки. Что же мешает всем подряд использовать визуальные редакторы для оформления HTML страничек? Дело в том, что сформированные таким образом страницы имеют, как правило, очень много лишнего кода, очень много ошибок с семантической точки зрения. Сейчас, конечно, нет проблем со скоростным интернет соединением и разница в размере странички в 400 кб и 100 кб не существенна для скорости, однако оптимизированный и правильно написанный HTML код избавляет от множества проблем и дает массу преимуществ, а именно:

  • Грамотный HTML код положительно влияет на поисковую оптимизацию, скорость сканирования поисковым роботом сайта. Сгенерированные вузивугой килобайты кода здесь не приемлемы и даже вредны;
  • HTML код, сгенерированный WYSIWYG редактором имеет множество семантических ошибок. То есть, теги, генерируемые таким редактором используются не по назначению, там где нужно использовать, например, списки
      , редактор сгенерирует нам другой, ненужный нам тег. Зависит, конечно, от редактора, но здесь имеются ввиду комплексные решения для создания сайтов, а не простого редактирования текста в текстовой области средствами WYSIWYG.
    • Генерируется много лишних тегов и структура документа получается раздутой. Допустим, вы передвигаете элемент в такой программе сначала вправо, потом влево, потом по центру - от каждого действия остается след в исходном HTML коде. Редактор - это программа и он не может знать, что именно вы хотите получить в результате, он формирует тонны кода с учетом всех возможных вариантов поведения документа в браузере.
    • Как правило, редакторы для визуального оформления HTML кода, быстро устаревают. А ввиду отсутствия интереса со стороны профессионалов - вообще лишаются поддержки и останавливаются в развитии. А HTML развивается. Все развивается, кроме вузивуги. Соответственно, они не могут генерировать правильный и современный код, в котором были бы задействованы новые фишки и решения.
    • Поддерживать такие проекты и развивать - кара небесная. Об использовании паттернов и повторном использовании кода речи вообще быть не может.

    Так что, HTML будем писать только ручками. Адекватных инструментов для визуального редактирования HTML еще не придумали, да и врядли они появятся. Язык разметки HTML прост в освоении и понимании, а средств автоматизации написания HTML кода множество, но об этом в других уроках.

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

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

    Рекомендую для занятий скачать и установить редактор Sublime Text . Крайне не рекомендую использовать для HTML верстки встроенный в Windows "Блокнот", если вы не хотите сломать себе психику на ранних порах изучения HTML.

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

    Давайте создадим на компьютере первоначальный шаблон - файл index.html , откроем с помощью редактора и вставим в него следующий код:

    Заголовок Тело документа Обратите внимание, документы HTML имеют расширение .html .

    Итак, по порядку из примера.

    - тип документа (доктайп)

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

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

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

    - начало документа

    Первый тег, который мы встречаем после доктайпа, это .

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

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

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

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

    Тег

    Далее, мы видим тег , который содержит другие, пока не понятные нам элементы. Содержит другие элементы - это значит, что элементы или теги находятся между открывающим и закрывающим тегом конструкции:

    содержание или другие теги

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

    Тег - заголовок документа Заголовок

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

    Метатег

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

    Фавиконка (favicon)

    Подключает к документу файл с изображением фавиконки. Фавиконка (favicon) - миниатюрный значок, отображаемый рядом с названием документа во вкладке браузера. Фавиконка - это графический файл, размером 16 x 16 (или 32 x 32) пикселей, который может иметь различные форматы, такие, как png, jpg, ico, gif. Традиционно используется формат ico. Анимированные фавиконки - это gif файлы, содержащие анимацию. Наблюдать анимированный фавикон можно, например, ВКонтакте, когда приходит новое сообщение.

    CSS стили документа

    Подключает к документу CSS файл со стилями оформления HTML.

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

    Примечание: свойство href конструкции указывает расположение внешнего файла. В нашем примере, файл style.css и favicon.ico , находятся в той-же папке, что и файл index.html . не имеет закрывающего тега.

    Тег

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

    В нашем примере подключается внешний файл script.js , который находится в той-же папке, что и основной файл index.html.

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

    Тело aka body

    Вот здесь то и начинается все самое интересное и визуально осязаемое в HTML верстке документа.

    Перейдем, непосредственно, к верстке видимой части страницы. Все, что мы пишем и верстаем внутри тега будет отображено в браузере. Откроем наш файл index.html в браузере для того, чтобы наглядно видеть, что мы делаем в редакторе.

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

    Тег Описание
    Тег для создания ссылок в документе.
    Пример: текст ссылки Атрибут href указывает документ, на который будет вести данная ссылка.
    , Делает текст курсивом или жирным (акцентируемым).
    Пример: текст курсивом жирный (акцентируемый) текст
    , , , , , Заголовки документа. Всего существует 6 уровней заголовков, но на практике используются только от h1 до h4. В документе должен быть только один заголовок, выделенный тегом h1, как главный заголовок документа.
    Примеры: Заголовок первого уровня Заголовок второго уровня Заголовок третьего уровня ... и т. д.
    ,
    Списки документа. Представляют собой нумерованный или маркированный список. Элементом такого списка является тег

  • Примеры:
    • Элемент маркированного списка 1
    • Элемент маркированного списка 2
  • Элемент нумерованного списка 1
  • Элемент нумерованного списка 2
  • Абзац. Данный тег определяет абзац текста, отбитый от остальных абзацев. Закрывать данный тег очень желательно.
    Пример:

    Внешний вид HTML разметки во многом определяется CSS стилями.

    Тем не менее, некоторые веб-мастера предпочитают не использовать стили на первых этапах проекта.

    Картинка. С помощью данного тега в HTML разметку можно вставить картинку. Обязательно указывайте у всех изображений альтернативный текст - атрибут "alt". Данный тег "самозакрывающийся".
    Пример:
    + + Формы и элементы ввода.
    Формы предназначены для ввода информации в систему на сервере. Этакая обратная связь пользователя и сайта. Например, формы используются, когда нужно отправить какое-то сообщение на сервер. Кроме того, формы могут выполнять и другие функции, но основная задача - отправка данных на сервер.
    Пример - простая форма отправки сообщения, в которой пользователь сайта указывает свое имя, E-mail и какой-то текст: Текст сообщения
    Определяет подстроку в строке.
    Применяется для определения стиля части строки посредством CSS. Один из самых часто используемых тегов. Без оформления, ни как не проявляет себя в браузере.
    Пример: Изучение HTML, в большинстве случаев, не вызывает ни каких сложностей у новичков.
    , Теги предназначены для вставки видео и аудио в документ. Обязателен закрывающий тег.
    Примеры: Параметр controls говорит нам о том, что на странице должны отображаться элементы управления медиаконтентом, как в обычном аудио/видео плеере.
    Во истину, королевский тег. Самый используемый и популярный тег в HTML разметке страницы. Это блочный элемент, предназначенн для управления блоками на сайте. Часто употребляется понятие "дивной" верстки - это значит, что все блоки на сайте сверстаны с использованием данных тегов. Может содержать другие теги .
    Пример: Текст во вложенном блоке Все элементы , в большинстве случаев, оформляются свойствами CSS стилей. Обязателен закрывающий тег .
    Данный тег загружает внешнюю страницу в документ.
    Пример:

    Мы рассмотрели далеко не все теги, да это и не нужно на данном этапе. Главное - понять основную идею HTML, научиться использовать представленные выше теги, а потом двигаться дальше.

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

    Например, не:

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

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

    Практическое задание по HTML верстке

    Если вы еще не скачали архив с примерами, сделайте это . Для примера, можете подглядывать в файл example.html, который также находился в архиве.

  • Распакуйте архив и в папке с распакованными файлами создайте файл index.html. Откройте созданный файл с помощью текстового редактора Sublime Text;
  • Создайте первоначальную структуру документа с доктайпом, тегом , содержащим и и перейдите к редактированию содержимого тега ;
  • Откройте файл readme.txt и выполните соответствующие задания в созданном вами файле index.html. Для проверки результата, откройте index.html в вашем любимом браузере.
  • На этом урок по основам HTML окончен, в следующем уроке "Основы CSS " мы научимся управлять стилями элементов документа, познакомимся ближе с каскадными таблицами стилей, научимся использовать классы стилей и сделаем нашу верстку красивой и красочной.

    До новых встреч, друзья!

    От автора: всем привет. Все мы хотим получше разбираться в сайтостроении, чтобы заниматься интересными проектами и воплощать в жизнь свои идеи. Но что делать, если вы совсем новичок? Наш учебник html для чайников с практическими уроками поможет вам наконец совершить такой важный прорыв в сайтостроении c нулевого уровня хотя бы до базового понимания.

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

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

    Практика же для вас начинается тогда, когда вы самостоятельно создаете html-файл, пишите туда стартовый код и начинаете изучать собственноручно, как оно все работает. Написал тег, посмотрел, как работает. Вставил картинку – проверил. Добавил какие-то атрибуты и т.д. Именно практика дает возможность быстро разобраться и запомнить основные теги. Потом вы просто на автомате их пишите и вам не нужно полчаса вспоминать, как же создать список.

    Ну а для редких тегов всегда нужно использовать словарь. Никто, ни один супер верстальщик и веб-разработчик, я думаю, не знает всех тегов наизусть. Это просто не нужно. Если тег используется тобой 1 раз в 10 лет, то зачем держать его в голове? Я думаю, это понятно.

    Но такую практику я бы назвал просто этакой игрой в песочнице. Вы просто пишите разные теги, пытаетесь разобраться со всем максимально подробно, но все для чего? Должна же быть какая-то цель. Обычно html и css изучают для того, чтобы потом создавать свои веб-страницы и полноценные сайты.

    Итак, наилучшая практика – это взять готовый нарисованный макет сайта и сверстать его. Версткой как раз и называют процесс создания из многослойного рисунка веб-страниц с помощью языков html и css. Еще при верстке могут использовать фреймворки, javascript и прикладные библиотеки, но это уже тема для другого разговора. Все это является дополнением. Html же является базовой технологией, которую нужно понимать очень хорошо.

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

    Как правильно изучить язык и где брать практику?

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

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

    Могу вас заверить, что css изучать интереснее! А в каком-то плане даже легче. Во-первых, в css тоже достаточно мало свойств и правил, которые вы должны запомнить. Во-вторых, в этом языке очень простой синтаксис, так что никаких проблем с написанием кода на нем не возникнет даже у новичка. В-третьих, поскольку css отвечает за внешний вид страницы, на первых порах у вас будет вызывать восторг то, что вы заставили страницу покраситься в красный цвет, а вон той картинке сделали рамку.

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

    Ваша финальная практика

    Наконец, вам предстоит экзамен. Но не волнуйтесь, он будет несложным. Тем более, что самостоятельно вам его выполнять не придется, а только по инструкциям, которые есть в уроках. Этот экзамен – курс . В нем вы добьетесь наконец главной промежуточной цели – сверстаете свой первый сайт и получите понимание того, как применять html и css в реальном сайтостроении. Пусть это будет простой сайт, но полученных знаний вам уже хватит, чтобы расти дальше и верстать более сложные макеты.

    или изучаем уроки HTML самостоятельно и бесплатно

    Вы хотите создать свой сайт в сети интернет? - Очень хорошо! HTML уроки помогут вам в этом.

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

    • Уроки HTML - это уроки по созданию интернет-страниц.
    • Уроки HTML - первая ступень на пути освоения разработки интернет-сайтов.
    • Уроки HTML и уроки веб-дизайна - совершенно различные понятия.

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

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

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

    Б удьте осторожны! Вы можете пристраститься к новому занятию.

    Новые уроки HTML | Пример HTML кода

    Рассмотрим его элементы:

    Теги, определяющие начало и конец документа.

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

    Теги, определяющие главный заголовок документа.

    Эта секция содержит всю видимую часть web-страницы.

    В браузере мы увидим Hello World! :

    Для изучения HTML необходим Блокнот . В нем мы будем вручную печатать код. Пожалуй, все... Интерпретацией кода занимается программное обеспечение для просмотра web-страниц, то есть Internet Explorer, Firefox, Opera, Chrome и другие браузеры.

    В уроках данного курса будет представлен HTML 5 , XHTML и CSS включения. Такая комбинация является оптимальной для обучения и позволяет значительно ускориться в освоении материала.

    В настоящее время на официальном сайте W3C консорциума уже доступна спецификация HTML 5 . Разработка пятой версии началась еще в 2007 году, в основе ее лежит XML и по сути она является, дополненным новыми элементами и атрибутами, XHTML -ем. Пятая версия HTML предлагает более широкую функциональность и упрощает процесс создания интерактивных сайтов и web-приложений. Помимо этого, HTML 5 содержит дополнительные элементы, обеспечивающие размещение внутри web-страницы мультимедийного контента.

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

    Post Scriptum: Сеть интернет состоит из бесконечного множества страниц, связанных между собой гиперссылками, посредством «протокола передачи гипертекста» - HyperText Transfer Protocol или сокращенно HTTP - протокол передачи данных в виде гипертекстовых документов. А что такое HTML ? HTML - HyperText Markup Language или язык гипертекстовой разметки документов.

    Основы HTML содержат основные правила языка HTML, описание структуры HTML-страницы, отношения в структуре HTML-документа между HTML-элементами.

    HTML-документ - это обычный текстовый документ, может быть создан как в обычном текстовом редакторе (Блокнот) , так и в специализированном, с подсветкой кода (Notepad++, Visual Studio Code и т.п.) . HTML-документ имеет расширение.html .

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

    Начальный тег показывает, где начинается элемент, конечный - где заканчивается. Закрывающий тег образуется путем добавления слэша / перед именем тега: … . Между начальным и закрывающим тегами находится содержимое тега - контент.

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

    Теги могут вкладываться друг в друга, например,

    Текст

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

    Текст

    .

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

    Каждому элементу можно присвоить несколько значений class и только одно значение id . Множественные значения class записываются через пробел, . Значения class и id должны состоять только из букв, цифр, дефисов и нижних подчеркиваний и должны начинаться только с букв или цифр.

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

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

    HTML-документ состоит из двух разделов - заголовка — между тегами … и содержательной части — между тегами … .

    Структура веб-страницы 1. Структура HTML-документа

    Язык HTML следует правилам, которые содержатся в файле объявления типа документа (Document Type Definition, или DTD) . DTD представляет собой XML-документ, определяющий, какие теги, атрибуты и их значения действительны для конкретного типа HTML. Для каждой версии HTML есть свой DTD.

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

    ...

    Элементы, находящиеся внутри тега , образуют дерево документа, так называемую объектную модель документа, DOM (document object model) . При этом элемент является корневым элементом.


    Рис. 1. Простейшая структура веб-страницы

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

    Предок - элемент, который заключает в себе другие элементы. На рисунке 1 предком для всех элементов является . В то же время элемент является предком для всех содержащихся в нем тегов: ,

    , , и т.д.

    Потомок - элемент, расположенный внутри одного или более типов элементов. Например, является потомком , а элемент

    Является потомком одновременно для и .

    Родительский элемент - элемент, связанный с другими элементами более низкого уровня, и находящийся на дереве выше их. На рисунке 1 и . Тег

    Является родительским только для .

    Дочерний элемент - элемент, непосредственно подчиненный другому элементу более высокого уровня. На рисунке 1 только элементы , ,

    И являются дочерними по отношению к .

    Сестринский элемент - элемент, имеющий общий родительский элемент с рассматриваемым, так называемые элементы одного уровня. На рисунке 1 и — элементы одного уровня, так же как и элементы , и

    Являются между собой сестринскими.

    1.1. Элемент 1.2. Элемент

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

    1.2.1. Элемент

    Обязательным тегом раздела является тег . Текст, размещенный внутри этого тега, отображается в строке заголовка веб-браузера. Длина заголовка должна быть не более 60 символов, чтобы полностью поместиться в заголовке. Текст заголовка должен содержать максимально полное описание содержимого веб-страницы.

    1.2.2. Элемент

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

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

    С помощью тега можно запретить или разрешить индексацию веб-страницы поисковыми машинами:

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

    Страница будет перезагружена через 30 секунд. Чтобы перебросить посетителя на другую страницу, нужно указать URL-адрес в параметре url:

    Таблица 2. Атрибуты тега Атрибут
    charset Указывает кодировку символов для текущего HTML-документа:
    content Содержит произвольный текст, который определяет значение, ассоциируемое с атрибутом http-equiv или name , в зависимости от их значения.
    http-equiv Контролирует действия браузера на данной веб-странице (эквивалент HTTP заголовков). При отображении страницы браузер будет следовать инструкциям, заданным в атрибуте:
    default-style указывает предпочтительный стиль для использования на странице. Атрибут content должен содержать идентификатор элемента , который ссылается на таблицу стилей CSS, или идентификатор элемента , содержащего таблицу стилей.
    refresh указывает время в секундах до перезагрузки страницы или время до перенаправления на другую страницу, если в атрибуте content после указания времени идет строка "url=адрес_страницы" .
    Автоматическая перезагрузка страницы через заданный промежуток времени, в данном примере, через 30 секунд:

    Если необходимо сразу перебросить посетителя на другую страницу, то можно указать URL-адрес в параметре url:
    name Ассоциируется со значением, содержащемся в атрибуте content . Не должен использоваться в случае, если для элемента уже заданы атрибуты http-equiv , charset или itemprop .
    application-name указывает название веб-приложения, используемого на странице.
    author указывает имя автора документа в свободном формате.
    description определяет краткое описание к содержимому страницы, например:

    generator указывает один из пакетов программного обеспечения, используемого для создания документа, например:
    .
    keywords содержит список ключевых слов, разделенных запятыми, соответствующих содержимому страницы, например:
    .
    Также атрибут name может принимать следующие значения из расширенной спецификации, такие как creator , googlebot , publisher , robots , slurp , viewport , хотя ни одно из них еще не было официально принято.
    1.2.3. Элемент

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

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

    .paper { width: 200px; height: 300px; background-color: #ef4444; color: #666666; }

    Чтобы подключить к элементу заданный стиль, необходимо через атрибут class (или id) присвоить элементу соответствующее название:

    ...

    CSS-код можно встраивать непосредственно в элемент разметки в виде значение атрибута style , например:

    1.2.4. Элемент

    Задать стили для документа можно также при помощи другого способа - записать их в отдельный файл с расширением.css , например, style.css .

    Подключить файл со стилями к веб-странице можно двумя способами:
    через директиву @import url

    @import url(style.css);

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

    Таблица 4. Атрибуты тега Атрибут Описание, принимаемое значение
    crossorigin Указывает, должен ли использоваться CORS (технология браузеров, которая позволяет предоставить веб-странице доступ к ресурсам другого домена) при извлечении изображения с сайта.
    anonymous — в кросс-доменный запрос браузер автоматически добавляет заголовок Origin, содержащий имя домена, с которого осуществлён запрос. Если сервер не ответит CORS-заголовком Access-Control-Allow-Origin: * (или имя домена вместо звёздочки), то загрузка изображения будет заблокирована.
    use-credentials — если сервер не предоставляет учётные данные с помощью Access-Control-Allow-Credentials: true , то загрузка изображения будет заблокирована.
    href Основной атрибут тега, в качестве значения выступает путь к файлу со стилями.
    hreflang Определяет язык текста в документе, на который идет ссылка.
    media Определяет тип устройства, к которым должен быть применен ресурс ссылки.
    nonce Генерируемая случайным образом на сервере строковая переменная, которая устанавливает правила использования встроенных стилей с целью защиты контента. Значение атрибута — строка текста.
    rel Атрибут определяет отношения между текущим документом и документом, на который идет ссылка.
    alternate — ссылка на тот же документ, но в другом формате (например, страницы для печати, перевод, зеркало, лента в формате RSS или Atom),
    .


    archives — указывает на то, что документ по ссылке представляет исторический интерес. Ссылка может указывать на коллекцию записей, документов и других материалов.
    author ссылка на страницу об авторе документа или на страницу с контактными данными автора.
    bookmark ссылка на ближайшего предка статьи, являющегося связующим звеном, или на раздел статьи, наиболее тесно связанных с элементом, если нет предка.
    external используется для указания того, что страница на которую ведет ссылка не являются частью данного сайта.
    first указывает ссылку, ведущую на первый документ из последовательности документов.
    help ссылка на документ со справкой.
    icon определяет путь к иконке, которая будет использована для текущего документа.
    last указывает ссылку, ведущую на последний документ в последовательности документов.
    license ссылка на сведения об авторских правах для документа.
    next указывает, что этот документ является частью серии, и что ссылка ведет на следующий документ в этой серии.

    nofollow указывает на то, что ссылка не одобрена автором страницы или что ссылка носит коммерческий характер.
    noreferrer указывает на то, что заголовок запроса клиента, содержащий url источника запроса, не должен передаваться при переходе по ссылке.
    pingback указывает адрес пингбэк-сервера, что дает возможность для блога автоматически оповещать сайты, ссылающиеся на него.
    prefetch указывает, что следует заранее кэшировать файл, на который ведет ссылка.
    prev указывает, что этот документ является частью серии, и что ссылка ведет на предыдущий документ в этой серии.

    search указывает, что ссылаемый документ содержит интерфейс поиска и связанных с ним ресурсов.
    sidebar указывает, что ссылаемый документ, если это возможно, будет показан в дополнительном контексте браузера, и некоторые браузеры при щелчке по гиперссылке открывают окно для добавления ссылки в панель закладок.
    stylesheet ссылка на внешний файл, который будет использоваться в качестве таблицы стилей для данного документа.
    tag указывает на то, что метка, на которую ведет гиперссылка, относится к данному документу.
    up указывает, что страница является частью иерархической структуры, и что гиперссылка ведет на более высокий уровень ресурса в структуре.
    sizes Указывает размер иконок для визуального отображения. Атрибут sizes используется только совместно с rel="icon" , и может принимать следующий значения:
    ширинах высота - определяет список размеров, разделенных пробелами, каждый размер должен быть в формате - ширинах высота (размеры иконки задаются в пикселях), например:
    ;
    any - иконка может масштабироваться до любого размера.
    title Определяет заголовок ссылки или название набора альтернативных таблиц стилей. Значение атрибута — текст.
    type Определяет MIME-тип документа, на который идет ссылка. В данном случае он принимает значение "text/css" .
    1.2.5. Элемент Таблица 5. Атрибуты тега Атрибут Описание, принимаемое значение
    async Атрибут указывает на то, что сценарий будет выполняться асинхронно с остальной частью страницы (сценарий начнет выполняться одновременно с загрузкой страницы).
    charset Определяет кодировку символов
    crossorigin Определяет, будет ли использоваться CORS при загрузке внешних скриптов (с использованием атрибута src).
    anonymous — перед загрузкой скрипта в кросс-доменный запрос браузер автоматически добавляет заголовок Origin, при этом не передаются параметры доступа (cookie, сертификат X.509, логин/пароль для базовой аутентификации по HTTP). Если в ответе сервера отсутствует заголовок Access-Control-Allow-Origin: имя домена, скрипт не будет загружен.
    use-credentials — перед загрузкой скрипта в кросс-доменный запрос браузер автоматически добавляет заголовок Origin с указанием параметров доступа (cookie, SSL-сертификат или пары логин/пароль). Если в ответе сервера отсутствует заголовок Access-Control-Allow-Credentials: true , скрипт не будет загружен.
    defer Интерпретация сценариев откладывается до окончания отображения документа на устройстве пользователя.
    nonce Обеспечивает безопасность, защищая от атак с внедрением межсайтового скриптинга (XSS, cross site scripting). Устанавливает правила использования встроенных скриптов с помощью nonce-значений и хэшей. Во время рендеринга страницы браузер для каждого инлайн-скрипта вычисляет хэши и сравнивает с перечисленными в CSP. Загрузка с ресурсов, не входящих в «белый список», блокируется.
    src Указывает на месторасположение файла со сценарием, значение атрибута - это url файла, содержащего JavaScript-программу.
    type Используются для объявления языка сценария, использованного при составлении содержимого тега.
    1.3. Элемент

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

    Таблица 5. Атрибуты тега Атрибут Описание, принимаемое значение
    onafterprint Событие, срабатывающее после отправки страницы на печать или после закрытия окна печати.
    onbeforeprint Событие, срабатывающее перед отправкой страницы на печать.
    onbeforeunload Событие срабатывает, когда посетитель инициировал переход на другую страницу или нажал «закрыть окно». Позволяет отображать сообщение в диалоговом окне подтверждения, чтобы сообщить пользователю, хочет ли он остаться или покинуть текущую страницу.
    onhashchange Событие срабатывает, когда меняется hash-часть URL, например, когда пользователь перейдет с адреса example.domain/test.aspx#page1 на example.domain/test.aspx#page2 .
    onmessage Событие происходит, когда сообщение получено через источник события.
    onoffline Событие вызывается браузером в том случае, когда браузер определит, что соединение с интернет пропало.
    ononline Событие вызывается браузером в том случае, когда соединение с интернет возобновилось.
    onpagehide Событие происходит, когда пользователь покидает страницу посредством навигации, например, нажав на ссылку, обновив страницу, заполнив форму и т.д.
    onpageshow Событие происходит, когда пользователь переходит на веб-страницу, после события onload.
    onunload Событие срабатывает если страница не загрузилась по каким-либо причинам, либо при закрытии окна браузера.

    HTML - язык разметки гипертекста, который сделал интернет таким, каким мы его знаем и любим. Именно благодаря этому замечательному инструменту сайты выглядят красиво и современно, а также обеспечивается удобство их использования. Язык HTML просто компонует элементы веб-страницы в удобный для пользователя вариант. Его работа сравнима с тем, что делают типа MS Word или OpenOffice. Они превращают безликую массу букв в документ, в котором есть абзацы, жирный текст, курсив, таблицы и даже изображения. Примерно то же самое делает язык HTML, с той лишь разницей, что его документы отображаются в браузере, да и возможности этого инструмента гораздо шире, чем у текстового редактора. Для разметки используются теги — специальные команды, описывающие структуру веб-страницы. Они заключены в угловые скобки - , чтобы браузер мог отличить их от общей массы текста. Далее мы рассмотрим основы HTML для начинающих.

    Визуальные редакторы

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

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

    Теги

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

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

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

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

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

    Head

    Внутри тега ... содержится информация технического характера, которая не будет отображаться на странице, но, тем не менее, является важной частью документа HTML. Основы сайта закладываются именно в этом месте, здесь выбирается кодировка и вводится название страницы. Оно содержится внутри обязательного тега .... Отображается название в верхней части браузера, где также можно разместить небольшую иконку, характеризующую содержимое страницы. Желательно сразу указать кодировку документа для его корректного отображения. Это можно сделать при помощи тега . Метатеги предоставляют данные о структуре страницы и обычно располагаются внутри head.

    Link

    Знание основ HTML также предполагает использование каскадных стилей оформления, или css. В них задаются свойства элементов, которые будут отображены на странице. Современный подход к этой задаче предполагает вынесение таких характеристик, как цвет, высота и местоположение элемента, во внешний файл для большего удобства. Для подключения css-файла используется тег . В готовом виде это выглядит примерно вот так: , где href указывает на местоположение файла, а type - на его тип.

    Body

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