Язык гипертекстовой разметки HTML – основы разметки, функции

ИНФОФИЗ – мой мир.

Весь мир в твоих руках – все будет так, как ты захочешь

Весь мир в твоих руках – все будет так, как ты захочешь

  • Главная
  • Мир физики
    • Физика в формулах
    • Теоретические сведения
    • Физический юмор
    • Физика вокруг нас
    • Физика студентам
      • Для рефератов
      • Экзамены
      • Лекции по физике
      • Естествознание
  • Мир астрономии
    • Солнечная система
    • Космонавтика
    • Новости астрономии
    • Лекции по астрономии
    • Законы и формулы – кратко
  • Мир психологии
    • Физика и психология
    • Психологическая разгрузка
    • Воспитание и педагогика
    • Новости психологии и педагогики
    • Есть что почитать
  • Мир технологий
    • World Wide Web
    • Информатика для студентов
      • 1 курс
      • 2 курс
    • Программное обеспечение компьютерных сетей
      • Мои лекции
      • Для студентов ДО
      • Методические материалы
  • Физика школьникам
  • Физика студентам
  • Астрономия
  • Информатика
  • Индивидуальный проект
  • Арх ЭВМ и ВС
  • Методические материалы
  • Медиа-файлы
  • Тестирование
  • ПОКС

Как сказал.

В мире нет ничего особенного. Никакого волшебства. Только физика.

Чак Паланик

Вопросы к экзамену

Для всех групп технического профиля

Список лекций по физике за 1,2 семестр

Лекция 11 Язык гипертекстовой разметки HTML. Основные понятия.

  • ” onclick=”window.open(this.href,’win2′,’status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=640,height=480,directories=no,location=no’); return false;” rel=”nofollow”> Печать
  • E-mail

I. Основные сведения об HTML.

За последние годы разработки для Интернета эволюционировали от статических страниц до динамических информационных систем. Некоторое время назад создание современных Web-страниц не требовало практически ничего, кроме совершенного владения языком разметки гипертекста (Hypertext Markup Language, HTML).

HTML представляет собой простой язык обработки текстов; на этом языке при помощи набора тегов (tags) создается документ, который можно просматривать специальной программой просмотра Web (browser).

HTML — не язык программирования в том смысле, как C++ или Visual Basic; он больше напоминает средства форматирования документов с использованием управляющих последовательностей. Кодирование на HTML часто сравнивают с созданием документа в формате Microsoft Word путем набивки кодов форматирования прямо в Notepad. Очевидно, что функциональность этого крайне мала.

Под гипертекстовым документом понимают документ, содержащий ссылки на другой документ. Реализовано все это через протокол передачи гипертекста HTTP (Hyper Text Transfer Protocol).

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

Гипертекстовые документы создаются на базе языка HTML (Hyper Text Markup Language). Этот язык весьма прост, управляющие коды его, которые, собственно, и компилируются обозревателем для отображения на экране, состоят из текста ASCII. Ссылки, списки, заголовки, картинки и формы называются элементами языка HTML.

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

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

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

II. Описание HTML

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

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

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

Тэгоформленная единица HTML-кода.

Тег HTML состоит из следующих друг за другом в определенном порядке элементов:

  • левой угловой скобки (такой же, как символа “больше чем”).

Большинство тегов имеют открывающий элемент <> и закрывающий . Между ними и находятся коды, которые распознает Web-обозреватель

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

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

  • имени атрибута, например WIDTH
  • знак равенства (=)
  • значения атрибута, которое задается строкой символов, например, “80”.
Читайте также:
Компьютер - как устроен внутри, принцип работы, назначение

Всегда полезно заключить значение атрибута в кавычки, используя либо одинарные (’80’), либо двойные кавычки (“80”). Строка в кавычках не должна содержать такие же кавычки внутри себя. Так, если дата заключена в двойные кавычки, используйте одинарные кавычки для последующего заключения в кавычки, и наоборот. Вы можете также опустить кавычки для значений атрибутов, которые состоят только из следующих символов:

  • символов английского алфавита (A – Z, a – z)
  • цифр (0 – 9)
  • промежутков времени
  • дефисов (-)

, например HREF=”http://infofiz.ru/”. Существуют некоторые браузеры, которые допускают отсутствие кавычек или наличие элементов с открывающими кавычками без закрывающих. Однако, такую практику лучше не применять.

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

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


    можно сократить до

      . Некоторые браузеры даже требуют минимизации для некоторых атрибутов (COMPACT, ISMAP, CHECKED, NOWRAP, NOSHADE, NOHREF). Так что лучше использовать минимизированный синтаксис там, где это возможно.

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

    Что касается имен тегов, атрибутов и большинства значений атрибутов, то HTML нечувствителен к регистру. Вы можете, например, написать TITLE, или Title, или title, или даже tItLE, если Вам нравится. Но существуют и чувствительные к регистру конструкции языка, а именно:

      escape последовательности (более официально называемые символьными объектами), которые начинаются знаком & (например, , которая обычно выглядит так:

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

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

    Затем, между тэгами и следует разместить заголовок документа (между тегами и ), и тело документа (между тегами и ).

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

    Только теперь между тегами содержимого документа можно располагать свою информацию, рисунки, видеофайлы, аудиофайлы.

    Пример самого короткого HTML-документа:

    Если приведенный выше пример пояснить схематически, получится следующее:

    Из схемы видно, что документ состоит из двух основных блоков – “заголовка” и “тела документа”. Заголовок определяется с помощью элемента HEAD, а тело – элементом BODY.

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

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

    История HTML

    Свою историю HTML начинает с 1986 года, когда Международной организацией по стандартизации (ISO) был принят стандарт озаглавленный “Standard Generalized Markup Language” – SGML. Этот стандарт был посвящен описанию обобщенного мета языка, который позволял строить системы логической структурной разметки любых разновидностей текстов. Он соответствовал международному стандарту ISO 8879.

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

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

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

    В 1991 году, британским ученым Тимом Бернерсом Ли, сотрудником Европейского института физики частиц (CERN) в Женеве, была разработана система передачи гипертекстовой информации через интернет. А за основу нового языка был взят SGML. Язык разметки гипертекста был назван – HTML (Hyper Text Markup Language) и он является до сих пор самым известным из приложений SGML. HTML в первую очередь был разработан для обмена научной и технической документации для использования людьми, не являющимися специалистами в области верстки. Путем определения небольшого набора структурных и семантических элементов, получались достаточно простые и в тоже время красиво оформленные документы. HTML успешно справился с проблемами SGML.

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

    Программа Mosaic была единственной в то время браузером поддерживающим графические возможности. Она была разработана в Национальном центре суперкомпьютерных приложений США (National Center for Supercomputer Applications – NCSA), там же, кстати, была разработана WWW (World Wide Web). По этой причине никаких противоречий между официальными стандартами и их реализацией в браузерах тогда не существовало.

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

    Тем временем Консорциум W3 в параллель со спецификацией 2.0 занимался обсуждением HTML 3.0. Она была предложена в марте 1995 года. Третья версия предлагала много новых возможностей: поддержка таблиц, обтекание изображения текстом, отображение сложных математических формул, примечания. Поддержка этого стандарта браузерами того времени была не удовлетворена.

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

    Следующей версией HTML стала 3.2 и в ней были опущены многие нововведения из версии 3.0.

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

    HTML 4.01 утвердили 24 декабря 1999. Изменения принятые в нем были более значительные, чем, кажется на первый взгляд.

    Сейчас W3C занимается разработкой пятой версии языка HTML. Ее черновой вариант стал доступен 20 ноября 2007 года.

    В параллель ведется также разработка XHTML (Extensible Hypertext Markup Language) – расширяемый язык разметки гипертекста. В нем предъявляются более строгие требования к синтаксису, чем в HTML. XHTML 1.0 был утвержден 26 января 2000 года в качестве рекомендации W3C. Вариант XHTML 1.1 одобрен в качестве рекомендации консорциума 31 мая 2001 года.

    Введение в HTML¶

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

    Изначально язык HTML (HyperText Markup Language) был задуман и создан как средство структурирования и форматирования документов без привязки к средствам отображения. В идеале, гипертекстовый документ должен одинаково выглядеть на различных устройствах (монитор ПЭВМ, экран ПДА или мобильного телефона, принтер, медиа-проектор и т.п.).

    Разработкой спецификаций языка HTML и утверждением их в качестве официальных стандартов занимается Консорциум всемирной паутины (W3C). Помимо W3C, в развитии языка участвуют IT-компании и сообщество разработчиков.

    • Официальной спецификации HTML 1.0 не существует. До 1995 года существовало множество неофициальных спецификаций HTML, появившихся в ходе браузерных войн.
    • RFC 1866 — HTML 2.0, одобренный как официальный стандарт 22 сентября 1995 года;
    • HTML 3 (март 1996) – не нашла поддержки у разработчиков
    • HTML 3.2 — 14 января 1997 года;
    • HTML 4.0 — 18 декабря 1997 года (многие унаследованные элементы были отмечены как устаревшие и нерекомендованные к использованию (англ. deprecated).);
    • HTML 4.01 — 24 декабря 1999 года (версия включала малозаметные, но существенные изменения по сравнению с предыдущей);
    • ISO/IEC 15445:2000 (ISO HTML, основан на HTML 4.01 Strict) — 15 мая 2000 года.
    • HTML 5 — разработан и принят W3C совместно с сообществом WHATWG.

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

    Элементы гипертекста¶

    Рис. 1. Общая структура веб-страницы

    HTML-документ состоит из текста, который представляет собой информационное содержимое и специальных средств языка HTML — тегов разметки, которые определяют структуру и внешний вид документа при его отображении браузером. Структура HTML-документа (рис. 1) довольно проста:

    1. Описание документа начинается с указания его типа (секция DOCTYPE).
    2. Текст документа заключается в тег . Текст документа состоит из заголовка и тела, которые выделяются соответственно тегами и .
      • В заголовке ( ) указывают название HTML-документа и другие параметры, которые браузер будет использовать при отображении документа.
      • Тело документа ( ) — это та часть, в которую помещается собственно содержимое HTML-документа. Тело включает предназначенный для отображения текст и управляющую разметку документа (теги), которые используются браузером.

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

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

    Блок содержит то, что нужно показать пользователю: текст, изображения, внедренные объекты и пр.

    Ниже приведен простой пример html-разметки.

    DOCTYPE¶

    Секция DOCTYPE указывает браузеру тип документа и версию использованного языка разметки. Здесь также указывается название и область видимости описания этого языка и адрес файла dtd (document type definition).

    • Гипертекстовый документ в формате HTML 4.01, содержащий фреймы.
    • Гипертекстовый документ в формате HTML 4.01 со строгим синтаксисом (т.е. не использованы устаревшие и не рекомендованные теги).
    • Гипертекстовый документ в формате HTML 4.01 с нестрогим («переходным») синтаксисом (т.е. использованы устаревшие или не рекомендованные теги и атрибуты).
    • Пока не стандартизованное объявление для документов HTML5.

    Стандарт требует, чтобы секция DOCTYPE присутствовала в документе, т.к. это позволяет ускорить и улучшить обработку гипертекста. Это достигается за счет того, что браузер может не делать предположений о том, как интерпретировать теги, а свериться со стандартным определением (файлом .dtd). Подробное описание DOCTYPE — на сайте Консорциума W3C.

    Мета-теги¶

    Мета-тег HTML — это элемент разметки html, описывающий свойства документа как такового (метаданные). Назначение мета-тега определяется набором его атрибутов, которые задаются в теге .

    Мета-теги размещают в блоке . веб-страницы. Они не являются обязательными элементами, но могут быть весьма полезны.

    Пример описания метаданных:

    Тег (html-тег, тег разметки) — управляющая символьная последовательность, которая задает способ отображения гипертекстовой информации.

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

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

    Примеры часто используемых тегов HTML:

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

    Примечание: Браузеры обычно лояльно относятся к отсутствию конечных тегов у парных элементов и более-менее правильно отображают парные элементы уровня блока (p, li и т.п.), особенно в простых веб-документах. Тем не менее, рекомендуется следить за наличием закрывающих тегов и использовать их, чтобы избежать ошибок при воспроизведении документа.

    Полный список тегов можно найти в документации на соответствующую версию языка HTML (см., например HTML 3.2, HTML 4.01, XHTML 1.1 и др.).

    Атрибуты¶

    Атрибуты — это пары вида «свойство = значение», уточняющие представление соответствующего тега:

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

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

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

    Краткий список некоторых часто используемых атрибутов и их возможных значений:

    Гиперссылки¶

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

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

    Ссылки могут быть абсолютными и относительными.

    Абсолютные ссылки указывают, как правило, на внешний ресурс. Для них нужно указывать полный путь:

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

    Специальные символы¶

    Кроме тегов, в HTML-документах могут присутствовать и специальные символы.

    Например, © — знак авторского права. Для отображения специальных символов используется мнемонический или числовой код вида &имя; или &#NNNN;, где NNNN — код символа в Юникоде в десятеричной системе счисления. Например: & (числовой код ©) — амперсанд (&), — символ «больше» (>), « — левая типографская кавычка («) и т.д.

    Кросс-браузерность¶

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

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

    Кросс-браузерность — свойство сайта отображаться и работать во всех популярных браузерах идентично. Под идентичностью понимается отсутствие развалов верстки и способность отображать материал с одинаковой степенью читабельности.

    Термин «кросс-браузерность» начали использовать во время браузерных войн, начавшихся с серидины 90-х годов XX в. В этом контексте термин относился к сайтам, которые одинаково работают как в Internet Explorer, так и в Netscape Navigator. В то время производители стали внедрять собственные функции для браузеров, что привело к существенным отличиям отображения веб-содержимого и концептуальным различиям в разработке веб-сайтов. В настоящее время ситуация смягчилась (отчасти из-за ухода с рынка Netscape), но не настолько, чтобы можно было говорить о близком окончании браузерных войн.

    Что такое HTML? Основы языка разметки гипертекста

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

    HTML не является языком программирования, то есть он не имеет возможности создавать динамические функции. Вместо этого он позволяет организовывать и форматировать документы, аналогично Microsoft Word.

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

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

    Нужен недорогой, но надёжный хостинг для учебного или небольшого коммерческого проекта? Ознакомьтесь с тарифами общего хостинга. Скидки до 90%!

    • История HTML
    • Как работает HTML?
    • Обзор наиболее используемых HTML-тегов
    • Теги блочного уровня
    • Встроенные теги
    • Эволюция HTML. Что отличает HTML и HTML5?
    • Плюсы и минусы HTML
    • Как связаны HTML, CSS и JavaScript?
    • Итак … Что такое HTML?

    История HTML

    HTML был изобретён Тимом Бернерсом-Ли, физиком из исследовательского института ЦЕРН в Швейцарии. Он придумал идею интернет-гипертекстовой системы.

    Hypertext означает текст, содержащий ссылки на другие тексты, которые зрители могут получить немедленно. Он опубликовал первую версию HTML в 1991 году, состоящую из 18 тегов HTML. С тех пор каждая новая версия языка HTML появилась с разметкой новых тегов и атрибутов (модификаторов тегов).

    Согласно Справочнику HTML Element Reference от Mozilla Developer Network, в настоящее время существует 140 тегов HTML, хотя некоторые из них уже устарели (не поддерживаются современными браузерами).

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

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

    Как работает HTML?

    HTML-документы — это файлы, которые заканчиваются расширением .html или .htm. Вы можете просматривать его с помощью любого веб-браузера (например, Google Chrome, Safari или Mozilla Firefox). Браузер читает HTML-файл и отображает его содержимое, чтобы пользователи интернета могли его просматривать.

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

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

    Большинство элементов HTML имеют открытие и закрытие, в которых используется синтаксис .

    Ниже вы можете увидеть пример кода, с помощью которого можно структурировать элементы HTML:

      Самый главный элемент — это простое разделение (

    ) и изображение ( ).

  • Второй абзац содержит ссылку ( ) с атрибутом href, который содержит целевой URL.
  • Тег изображения также имеет два атрибута: srcдля пути изображения и altдля описания изображения.

Обзор наиболее используемых HTML-тегов

HTML-теги имеют два основных типа: блок-уровень и встроенные теги.

  1. Элементы уровня блока занимают всё свободное пространство и всегда запускают новую строку в документе. Заголовки и параграфы — отличный пример блочных тегов.
  2. Встроенные элементы занимают столько места, сколько им нужно, и не запускают новую строку на странице. Они обычно служат для форматирования внутреннего содержимого элементов уровня блока. Ссылки и подчеркнутые строки — хорошие примеры встроенных тегов.

Теги блочного уровня

Три тега уровня блока, которые каждый HTML-документ должен содержать: , и .

  1. Тег — это элемент самого высокого уровня, который охватывает каждую HTML-страницу.
  2. Тег содержит метаинформацию, такую ​​как заголовок страницы и кодировка.
  3. Наконец, тег

ИНФОФИЗ – мой мир.

Весь мир в твоих руках – все будет так, как ты захочешь

Весь мир в твоих руках – все будет так, как ты захочешь

  • Главная
  • Мир физики
    • Физика в формулах
    • Теоретические сведения
    • Физический юмор
    • Физика вокруг нас
    • Физика студентам
      • Для рефератов
      • Экзамены
      • Лекции по физике
      • Естествознание
  • Мир астрономии
    • Солнечная система
    • Космонавтика
    • Новости астрономии
    • Лекции по астрономии
    • Законы и формулы – кратко
  • Мир психологии
    • Физика и психология
    • Психологическая разгрузка
    • Воспитание и педагогика
    • Новости психологии и педагогики
    • Есть что почитать
  • Мир технологий
    • World Wide Web
    • Информатика для студентов
      • 1 курс
      • 2 курс
    • Программное обеспечение компьютерных сетей
      • Мои лекции
      • Для студентов ДО
      • Методические материалы
  • Физика школьникам
  • Физика студентам
  • Астрономия
  • Информатика
  • Индивидуальный проект
  • Арх ЭВМ и ВС
  • Методические материалы
  • Медиа-файлы
  • Тестирование
  • ПОКС

Как сказал.

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

Альберт Эйнштейн

Вопросы к экзамену

Для всех групп технического профиля

Список лекций по физике за 1,2 семестр

Лекция 11 Язык гипертекстовой разметки HTML. Основные понятия.

  • ” onclick=”window.open(this.href,’win2′,’status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=640,height=480,directories=no,location=no’); return false;” rel=”nofollow”> Печать
  • E-mail

I. Основные сведения об HTML.

За последние годы разработки для Интернета эволюционировали от статических страниц до динамических информационных систем. Некоторое время назад создание современных Web-страниц не требовало практически ничего, кроме совершенного владения языком разметки гипертекста (Hypertext Markup Language, HTML).

HTML представляет собой простой язык обработки текстов; на этом языке при помощи набора тегов (tags) создается документ, который можно просматривать специальной программой просмотра Web (browser).

HTML — не язык программирования в том смысле, как C++ или Visual Basic; он больше напоминает средства форматирования документов с использованием управляющих последовательностей. Кодирование на HTML часто сравнивают с созданием документа в формате Microsoft Word путем набивки кодов форматирования прямо в Notepad. Очевидно, что функциональность этого крайне мала.

Под гипертекстовым документом понимают документ, содержащий ссылки на другой документ. Реализовано все это через протокол передачи гипертекста HTTP (Hyper Text Transfer Protocol).

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

Гипертекстовые документы создаются на базе языка HTML (Hyper Text Markup Language). Этот язык весьма прост, управляющие коды его, которые, собственно, и компилируются обозревателем для отображения на экране, состоят из текста ASCII. Ссылки, списки, заголовки, картинки и формы называются элементами языка HTML.

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

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

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

II. Описание HTML

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

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

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

Тэгоформленная единица HTML-кода.

Тег HTML состоит из следующих друг за другом в определенном порядке элементов:

  • левой угловой скобки (такой же, как символа “больше чем”).

Большинство тегов имеют открывающий элемент <> и закрывающий . Между ними и находятся коды, которые распознает Web-обозреватель

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

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

  • имени атрибута, например WIDTH
  • знак равенства (=)
  • значения атрибута, которое задается строкой символов, например, “80”.

Всегда полезно заключить значение атрибута в кавычки, используя либо одинарные (’80’), либо двойные кавычки (“80”). Строка в кавычках не должна содержать такие же кавычки внутри себя. Так, если дата заключена в двойные кавычки, используйте одинарные кавычки для последующего заключения в кавычки, и наоборот. Вы можете также опустить кавычки для значений атрибутов, которые состоят только из следующих символов:

  • символов английского алфавита (A – Z, a – z)
  • цифр (0 – 9)
  • промежутков времени
  • дефисов (-)

, например HREF=”http://infofiz.ru/”. Существуют некоторые браузеры, которые допускают отсутствие кавычек или наличие элементов с открывающими кавычками без закрывающих. Однако, такую практику лучше не применять.

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

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


    можно сократить до

      . Некоторые браузеры даже требуют минимизации для некоторых атрибутов (COMPACT, ISMAP, CHECKED, NOWRAP, NOSHADE, NOHREF). Так что лучше использовать минимизированный синтаксис там, где это возможно.

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

    Что касается имен тегов, атрибутов и большинства значений атрибутов, то HTML нечувствителен к регистру. Вы можете, например, написать TITLE, или Title, или title, или даже tItLE, если Вам нравится. Но существуют и чувствительные к регистру конструкции языка, а именно:

      escape последовательности (более официально называемые символьными объектами), которые начинаются знаком & (например, , которая обычно выглядит так:

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

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

    Затем, между тэгами и следует разместить заголовок документа (между тегами и ), и тело документа (между тегами и ).

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

    Только теперь между тегами содержимого документа можно располагать свою информацию, рисунки, видеофайлы, аудиофайлы.

    Пример самого короткого HTML-документа:

    Если приведенный выше пример пояснить схематически, получится следующее:

    Из схемы видно, что документ состоит из двух основных блоков – “заголовка” и “тела документа”. Заголовок определяется с помощью элемента HEAD, а тело – элементом BODY.

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

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

    Язык гипертекстовой разметки HTML — основы, функции и правила

    Основы HTML в информатике нужно знать всем веб-мастерам, даже тем, кто использует для создания документов визуальные редакторы или конструкторы сайтов. Проверка орфографии в Word не отменяет необходимость знания русского языка. Так и наличие визуальных инструментов для программирования не отменяет необходимости знать их родной язык разметки html. Без начальной базы знаний невозможно написать документ так, как пользователь считает нужным.

    Откуда появился HTML

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

    В 60-е годы ХХ века впервые в истории было употреблено понятие «гипертекст» учёным Т. Нильсоном. Его проект «Ксанаду» создавал электронные библиотеки, базы которых должны были храниться на спутнике и управляться с помощью радио и телефонной связи. Использование в работе гипертекстовых ссылок позволяло выполнение перехода с одного документа на другой.

    На основе языка разметки документов SGML в начале 90-х г. Тимом Бернерсом-Ли был создан язык разметки гипертекста HTML. Однако он так и остался бы теорией, но М. Андриссен и группа студентов Иллинойского университета разработали первый браузер — Mosaic и запустили его бесплатное распространение. Во Всемирной паутине браузер демонстрировал гипертекстовые странички. С этого момента началось развитие веб-страниц и веб-серверов.

    Благодаря своим достоинствам язык html стал использоваться повсеместно, что требовало создание стандартов для его использования, иначе в дальнейшем возникло бы разночтение. Консорциум W3C создал и принял первую спецификацию hypertext markup language. Со временем в язык вносились изменения и возникали следующие спецификации. Сейчас во всём мире принято использовать HTML5.

    Что такое веб-документ

    Язык html — специально стандартизированный, служащий для разметки документов в интернете.

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

    Гипертекстовые файлы имеют 2 расширения — .htm или. html, работать с ними можно в обычном блокноте Windows. Но гораздо удобнее использовать специально предназначенные инструменты. Веб-редакторы, которыми можно оформить содержание страницы, бывают:

  • Визуальные (принцип WYSIWYG) — WebProject, WYSIWYG Web Builder и т. п.
  • Не визуальные (только чистый код) — Notepad, Free HTML Editor и пр.
  • Комбинированные — Adobe Dreamweaver, FrontPage, Word и др.

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

    Базовые элементы и команды языка html называются тегами (tag). Они являются регистронезависимыми и всегда находится в угловых скобках.

    Структура тега выглядит так: . Параметры также называют атрибутами. Пример: .

    Теги делятся на 2 большие группы:

  • Одиночные (например, ,
  • ).
  • Контейнерные или парные.(

    ), состоят из открывающего и закрывающего тега и могут вкладываться друг в друга как матрёшка.

    Формирование структуры

    Любая страница, которую пользователи видят в браузере, имеет чёткую структуру — синтез html-элементов и текста.

    Заголовок и тело страницы записываются в парный тег , который сообщает браузеру, какое расширение ему нужно обработать. Согласно стандартам W3C, первым должен стоять тег . Он описывает тип документа — DTD и даёт браузеру команду как следует обрабатывать текущую страницу, так как не только есть разные версии HTML, но есть и другие технологии, например, XHTML, XML.

    Полностью веб-документ будет иметь следующую структуру:

    Язык гипертекстовой разметки HTML

    Из истории языка

    Год Событие
    около 1991 Тим Бернерс-Ли изобрел World Wide Web , он создал первые Веб-сервер и Веб-браузер и первую версию HTML
    1993 IETF ( Internet Engineering Task Force ) опубликовал черновик предложения по стандарту HTML
    1995 Разработана версия 2.0 языка HTML
    1997 Консорциум W3C опубликовал версию HTML 4.0 в качестве рекомендации, которая включила дополнительные специальные расширения браузеров
    1999 Опубликована версия HTML 4.01
    2000 Консорциум W3C опубликовал спецификацию XHTML 1.0 , которая была реструктуризацией HTML , чтобы сделать его действительным документом XML
    В настоящее время Готовится черновик версии HTML 5

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

    Документ HTML 4 состоит из трех частей:

    • строка, содержащая информацию о версии HTML ,
    • объявляющий раздел header/”шапка” (ограниченный элементом HEAD ),
    • тело, содержащее собственно сам документ.

    Тело может содержаться в элементах BODY или FRAMESET . Пробельные символы (пробелы, символы новой строки , символы табуляции и комментарии) могут появляться до или после этого раздела.

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

    После этого можно видеть открывающий тег элемента html . Это оболочка вокруг всего документа. Закрывающий тег html является последним объектом в любом документе HTML .

    Внутри элемента html имеется элемент head . Он содержит информацию о документе ( метаданные ). Внутри head находится элемент title , который определяет заголовок “Simple page” в панели меню .

    После элемента head следует элемент body , который является оболочкой, содержащей реальное содержимое страницы – в данном случае только элемент заголовка первого уровня ( h1 ), который содержит текст “Hello world!” .

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

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

    Синтаксис элементов HTML

    Базовый элемент в HTML состоит из двух тэгов вокруг блока текста. Существуют элементы, которые не являются оболочкой для текста, и почти в каждом случае элементы могут содержать подэлементы (как html содержит head и body в примере выше).

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

    В этом примере элемент div (раздел страницы, способ разбиения документов на логические блоки) имеет добавленный атрибут id , для которого задано значение masthead . Элемент div содержит элемент h1 (заголовок первого, или самого важного уровня), который в свою очередь содержит некоторый текст. Часть этого текста упакована в элемент abbr (который используется для определения расширения сокращений), который имеет атрибут title , значение которого задано как Hypertext Markup Language .

    Многие атрибуты в HTML являются общими для всех элементов, но некоторые являются специфическими для данного элемента или элементов. Все они имеют форму:

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

    Атрибуты и их возможные значения определяются в основном спецификациями HTML (http://www.w3.org/TR/html401/index/attributes.html), поэтому – нельзя создавать свои собственные атрибуты. Единственными реальными исключениями являются атрибуты id и class , значения полностью которых предназначены для добавления в документы вашего собственного значения и семантики.

    Элемент внутри другого элемента называют “потомком” этого элемента. В примере выше abbr является потомком h1 , который в свою очередь является потомком div . И наоборот, div является “предком” элемента h1 .

    Элементы блочного уровня и строковые элементы

    Имеется две основные категории элементов в HTML , которые соответствуют типам контента и структуре, которую представляют эти элементы – элементы блочного уровня и строковые элементы.

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

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

    Заголовок

    Заголовок HTML -документа является необязательным элементом разметки. Первоначально существование заголовка определялось необходимостью именования окна браузер. Это достигалось за счет элемента разметки TITLE :

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

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

    Основные теги заголовка – это элементы HTML -разметки, которые наиболее часто встречаются в заголовке HTML -документа, т.е. внутри элемента разметки HEAD :

    • TITLE (заглавие документа);
    • BASE (база URL );
    • ISINDEX (поисковый шаблон);
    • META (метаинформация);
    • LINK (общие ссылки);
    • STYLE (описатели стилей);
    • SCRIPT (сценарии).

    Чаще всего применяются элементы TITLE, SCRIPT, STYLE . Использование элемента META говорит об осведомленности автора о правилах индексирования документов в поисковых системах и возможности управления HTTP -обменом данными. BASE и ISINDEX в последнее время практически не применяются. LINK указывают только при использовании внешних относительно данного документа описателей таблиц стилей.

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

    Контейнер заголовка служит для размещения информации, относящейся ко всему документу в целом.

    Элемент разметки TITLE служит для именования документа в World Wide Web . При выборе текста для содержания контейнера TITLE следует учитывать, что отображается он системным шрифтом , так как является заголовком окна браузера.

    Синтаксис контейнера TITLE в общем виде выглядит следующим образом:

    Заголовок не является обязательным контейнером документа. Его можно опустить. Роботы многих поисковых систем используют содержание элемента TITLE для создания поискового образа документа. Слова из TITLE попадают в индекс поисковой системы. Из этих соображений элемент TITLE всегда рекомендуется использовать на страницах Веб-узла.

    Элемент разметки BASE служит для определения базового URL для гипертекстовых ссылок документа, заданных в неполной (частичной) форме. Кроме того, BASE позволяет определить целевое окно загрузки документа по умолчанию при выборе гипертекстовой ссылки текущего документа. Наиболее часто BASE встречается на страницах узлов, которые имеют “зеркала”. Часть документов основного сервера по разным причинам на “зеркальный” сервер не переносится. В этом случае документ с принудительно заданным базовым URL всегда будет ссылаться на основной сервер .

    Тег начала контейнера содержит один обязательный атрибут HREF , и может содержать один необязательный атрибут TARGET . Синтаксис контейнера BASE в общем виде выглядит следующим образом:

    Элемент разметки ISINDEX используется для указания поискового шаблона и унаследован от ранних версий HTML . В HTML 4.0 этот контейнер не определен.

    Элемент разметки META

    META содержит управляющую информацию, которую браузер использует для правильного отображения и обработки содержания тела документа , например с помощью атрибута Content-type можно задать перекодировку документа на стороне клиента.

    С помощью META также можно задать и другие операторы . Например, запретить кэширование документа. Для запрета кэширования достаточно вставить в заголовок META – тег вида:

    В новой версии протокола HTTP (HTTP 1.1) управление кэшированием осуществляется через оператор Cache-Control . Для получения такого же результата, как в случае с Pragma , в заголовке HTML -документа достаточно указать:

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

    Точно так же можно задать время последней модификации ( Last-Modified ) или дату истечения актуальности документа ( Expire ).

    META – тег часто используется для описания поискового образа документа.

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

    META – тег используют также программы подготовки документов., размещая в нем свой идентификатор . В общем случае контейнер META выглядит следующим образом:

    Элемент разметки LINK

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

    Контекстная связь определяет отношение на паре узлов. При этом в модели World Wide Web один из узлов является источником, а второй – целью ( target ). Собственно, это и отражено в названии элемента разметки A ( anchor ), который определяет гипертекстовую ссылку (не путать с гипертекстовой связью).

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

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

    Существенный сдвиг в этом направлении произошел после реализации поддержки описателей стилей в веб-браузерах. CSS ( Cascade STYLE Sheets , каскадные таблицы стилей) позволяют определять для различных типов гипертекстовых связей вид гипертекстовых ссылок. При этом можно определять различные типы контекстных ссылок. Контейнер LINK позволил загружать внешние описатели стилей:

    В данном случае атрибут REL определяет тип гипертекстовой связи, HREF (Нуреrtехt REFerence) указывает адрес документа, идентифицирующего связь , а атрибут TYPE определяет тип содержания этого документа.

    В общем случае контейнер LINK имеет следующий вид:

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

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: