Опубликован: 17.06.2010 | Уровень: для всех | Доступ: платный | ВУЗ: Саратовский государственный университет им. Н.Г. Чернышевского
Лекция 4:

Введение в HTML

< Лекция 3 || Лекция 4: 12 || Лекция 5 >
Аннотация: В лекции представлены основные сведения о языке HTML: его история, структура HTML-документа, рассмотрен синтаксис элементов HTML. Также в лекции вводится понятие редактора для верстки веб-страниц.

Краткая история HTML

Начало истории HTML можно отнести к 1986 году, когда Международная организация по стандартизации (ISO) приняла стандарт ISO-8879, озаглавленный "Standard Generalized Markup Language (SGML)". Этот стандарт описывал обобщенный метаязык, позволяющий строить системы структурной разметки любых разновидностей текстов. Управляющие элементы (так называемые теги), вносимые в текст при такой разметке, не несли никакой информации о внешнем виде документа, а лишь задавали его логическую структуру, т.е. указывали границы и соподчинение составных частей документа. Размеченный таким образом текст могла интерпретировать любая программа, работающая на какой угодно компьютерной платформе с любым устройством вывода.

Несмотря на всю значительность принципов, лежащих в основе языка SGML, он не имел заметного распространения до тех пор, пока в 1991 г. сотрудник Европейского института физики элементарных частиц Тим Бернерс-Ли не выбрал его в качестве основы для нового языка разметки гипертекстовых документов. Этот язык, ставший самым известным и широко используемым приложением SGML, был назван HTMLHyperText Markup Language, что переводится как язык разметки гипертекста.

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

В сентябре 1993 года группа программистов Национального центра суперкомпьютерных приложений США (NCSA) выпустила первый (и на долгое время единственный) графический браузер Mosaic, благодаря которому язык HTML получил широкое распространение. Браузер покорил виртуальное пространство с поразительной быстротой – всего за год около двух миллионов пользователей установили Mosaic на свои компьютеры.

В апреле 1994 г. под эгидой созданного в том же году Консорциума Всемирной паутины (World Wide Web Consortium, W3C) началась подготовка новой версии языка HTML 2.0, ставшей официальной рекомендацией W3C лишь в сентябре 1995 г. Стандарт HTML 2.0 вобрал в себя всю сложившуюся к 1994 году практику создания веб-сайтов.

В марте 1995 г. началась работа над проектом HTML 3. К этому времени уже достаточно очевидно стало противоречие между идеологий чисто логической разметки существовавших версий HTML и потребностями пользователей, заинтересованных в расширении средств визуального оформления. Чтобы разрешить это противоречие, не отказываясь от парадигмы структурной разметки, авторы HTML 3 ввели поддержку нового средства - так называемых иерархических стилевых спецификаций (Cascading Style Sheets, CSS). Стилевые спецификации представляли собой отдельный по отношению к структурной разметке "информационный слой" и были предназначены только для визуального форматирования структурных элементов документа. К сожалению, работа над этой версией была прервана в связи с отсутствием поддержки со стороны производителей браузеров. Принятая чуть позже рекомендация HTML 3.2 потеряла многие новые свойства 3.0, однако закрепила разработки популярных в то время браузеров Netscape Navigator и Internet Explorer.

В 1997 году консорциум W3C опубликовал версию HTML 4.0 в качестве рекомендации, которая включила дополнительные специальные расширения браузеров, но попыталась также рационализировать и очистить HTML. Многие элементы и атрибуты (в основном касающиеся визуального оформления) были помечены как не рекомендуемые. Это должно было стимулировать более "правильное" использование HTML.

Версия HTML 4.01 была опубликована в 1999 г. Это самая последняя версия HTML, хотя W3C уже опубликовал черновой вариант спецификации пятой версии языка HTML. Работа над черновой версией спецификации HTML 5 началась в марте 2008 года. Для этого была сформирована специальная группа, объединившая порядка пятисот участников, среди которых специалисты таких компаний, как Apple, Google, IBM, Microsoft, Mozilla, Nokia, Opera, BEA Systems, Cisco, France Telecom и Hewlett-Packard.

Среди наиболее заметных и важных нововведений в HTML 5 Консорциум W3C выделяет программные интерфейсы для работы с двумерной графикой, средства внедрения в веб-страницы видео- и аудиоматериалов, а также инструменты, позволяющие посетителям самостоятельно редактировать сайты. Ознакомиться с черновым вариантом спецификации HTML 5 можно на официальном сайте Консорциума (http://www.w3.org/TR/2008/WD-html5-20080122/).

Семантические требования HTML

Ключевыми моментами в Спецификации HTML являются синтаксические правила HTML и определение семантики его элементов.

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

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

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

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

Семантическая верстка неотделима от концепции разделения структуры и представления, согласно которой язык разметки гипертекста HTML должен использоваться только для описания структуры документа (т.е. его содержания), а для визуального представления этой структуры (т.е. его оформления) предлагается другой официально утвержденный W3C стандарт – каскадные таблицы стилей CSS (Cascading Style Sheets).

Составные элементы HTML-документа

Элементы

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

Чаще всего элемент разметки состоит из трех частей: начального и конечного компонентов, между которыми размещаются текст или другие элементы документа. Эти компоненты представляют собой специальные управляющие конструкции для разметки содержимого HTML-документа и называются тегами. Начальный тег состоит из имени элемента, заключенного в угловые скобки (< и >). Конечный тег отличается от начального тем, что перед именем элемента в нем ставится косая черта (/). Например, элемент EM, используемый для акцентирования текста, будет иметь следующий вид:

<EM>акцентируемый текст</EM>

Следует также заметить, что имена элементов не чувствительны к регистру, т.е. записи <EM> и <em> равнозначны.

Элементы должны либо следовать друг за другом, либо быть вложены один в другой. Так, если начальный тег <STRONG> расположен внутри элемента <P>…</P> , то и конечный тег </STRONG> должен быть расположен внутри этого элемента.

Конечные теги некоторых элементов в документе можно опускать, т.к. большинство браузеров устроено так, что при обработке текста документа начальный тег воспринимается как конечный тег предыдущего. Например, конечный тег элемента LI, используемого для создания пункта списка, не обязателен, поскольку начало очередного пункта списка означает конец предыдущего. Есть и другие конечные теги, без которых браузеры отлично работают, например, конечный тег   </HTML>. Тем не менее, рекомендуется не опускать конечные теги, чтобы избежать путаницы и ошибок при воспроизведении документа. Кроме того, некоторые элементы, такие, как, например, элемент IMG, используемый для вставки в HTML-документ изображения, не имеют конечного тега, поскольку не имеют содержимого.

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

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

< Лекция 3 || Лекция 4: 12 || Лекция 5 >
Сергей Крупко
Сергей Крупко

Добрый день.

Я сейчас прохожу курс  повышения квалификации  - "Профессиональное веб-программирование". Мне нужно получить диплом по этому курсу. Я так полагаю нужно его оплатить чтобы получить диплом о повышении квалификации. Как мне оплатить этот курс?

 

Абылайхан Каби
Абылайхан Каби

interface IЧеловек { string Фамилия(); string Должность(); } class Человек { public string фамилия; } class Сотрудник : IЧеловек,Человек { public string должность; public string Фамилия() {return фамилия;} public string Должность() { return должность; } } class Program { static void Main() { Сотрудник с = new Сотрудник(); с.фамилия = "Иванов"; с.должность = "Инженер"; System.Console.Write(с.Фамилия()+с.Должность()); } }