В этой главе мы снова будем работать с текстом, и в отличие от материала, изложенного во второй главе: "Редактируем текст" посмотрим на некоторые вещи под другим углом, а так же поговорим о ранее не вошедших в этот учебник тегах, с помощью которых так же можно форматировать текст на страницах сайта.
Дело в том что все теги предназначенные для работы с текстом можно разделить на две группы: "теги физического форматирования текста" и "теги логического форматирования текста"
Теперь по порядку..
О тегах физического форматирования текста речь в этом учебнике шла ранее, поэтому повторятся, не стану, а просто перечислю их:
<b>, <i>, <u>, <strike>, <s>, <tt>, <small>, <big>, <sup>, <sub>, <p>, <font>, <pre>…- всё это теги физического форматирования текста.
Почему их так назвали? Да все просто.. потому что данные теги способны тем или иным способом физически воздействовать на текст.. делать его жирным, курсивом, маленьким, большим.. и т. д. Заключив текст, в какой либо тег из вышеперечисленных, мы получаем ожидаемый результат, который описан в спецификации HTML и в различных браузерах отображается практически одинаково.
На всякий случай вновь покажу старый пример:
Основная задача тегов физического форматирования текста это выполнение сугубо декоративных функций.
Однако если Вы изучали справочник HTML, то наверняка обратили внимание что выше перечисленные теги это далеко не все инструменты для работы с текстом! А если Вы изучали справочник скрупулезно и пристально, то наверное заметили что некоторые теги выполняют одни и те же действия над текстом..
Например, чем отличается тег <em> от тега <i>? или какая разница между <b> и <strong>? ведь результат и там и там одинаков!
Так да не так.. отличия есть.. и они достаточно существенные!!..
Прежде чем рассказывать о новых тегах расскажу, о том, что следует подразумевать под фразой: "логическая разметка документа".
Под логической разметкой документа, прежде всего, принято понимать разметку текста тегами направленную на удобство работы поисковых систем и других программ, которые работают с данным документом, а так же придавать тексту в документе некий смысл. Так вот программам абсолютно по барабану как выглядит Ваш документ, красивый он или нет, какой стиль шрифта и текста используется и.т.д. программы в первую очередь пытаются найти логику на Вашей страничке, что бы в дальнейшем использовать её по своему усмотрению, например для более релевантной поисковой выдачи или для автоматического составления содержания Вашего документа...
Теперь давайте опять вернемся к вопросу выше: "Чем отличается тег <em> от тега <i>?" - казалось бы какая разница ведь текст и там и там будет отображаться курсивом .. всё дело в том что тег <i> - (курсив) - является тегом физического форматирования текста и предназначен в первую очередь для людей, а тег <em> (особенно важный текст) - является тегом логического формирования текста и предназначен для машин! А то, что текст, взятый в тег <em>, обычно в браузерах отображается курсивом - это всего лишь, скажем так "мода" и придумка браузеров.
Спецификация HTML не говорит о том, что теги логического форматирования текста должны определённым образом отображаться браузерами, что вот, например тот же тег <em> должен быть отображен именно курсивом и не как иначе, а говорит лишь о том, что такой текст должен отличатся от основного и особым образом выделятся в документе..
Так какие теги лучше использовать? Ну раз уж мы уже заочно познакомились с тегами <em> и <strong> покажу пример, комментарии будут ниже..
Теперь объясню, почему на страницах данного сайта, как и в примере выше, в некоторых случаях используются теги <em> и <strong>, а в других случаях <b> и <i>.
Всё дело в том, что мне как создателю данного сайта очень хочется, чтобы люди набрав в том же гугле фразу: "Как создать сайт?" или "Самостоятельное создание сайта" видели в первых строчках поисковой выдачи гугла ссылку: "Как создать сайт?" и переходили по ней на главную страницу моего ресурса :) . Так вот пометив нужные мне куски текста с помощью тегов <em> и <strong>, я тем самым даю понять гуглу что этот текст важный и что на него следует обратить особенное внимание! - конечно, это не залог успеха, тем более для столь популярных (высокочастотных) пользовательских запросов, но при прочих равных условиях, это большой плюс в глазах поисковых систем.
И противоположенный случай..
Как человек старающийся сделать сайт удобным для чтения и восприятия другими людьми, я выделяю некоторые участки текста курсивом (юмор, примечания и прочую отсебятину) и жирным шрифтом (изучаемые теги в примерах), но я не хочу, чтобы поисковые системы обращали сильное внимание на фразы типа: "начало головы" "закрытие тела" - так как сайт написан для начинающих веб-ремесленников, а не для начинающих патологоанатомов, поэтому размечаю такой текст тегами <b> и <i> - они дают нужный результат, собственно полужирный шрифт и курсив, но не являются "красной тряпкой" для программ.
Разобравшись с сутью и предназначением логической разметки текста настало время познакомить Вас с тегами которые способны разбавить сухой текст неким смыслом.
Буду перечислять..
Выделяет в тексте аббревиатуру. Браузерами обычно подчеркивается пунктирной линией.
Практически ко всем тегам применим атрибут title - всплывающая подсказка, так вот если Вы в тексте выделяете некую аббревиатуру, старайтесь давать к ней расшифровку, используя данный атрибут.
Данный тег выделяет в тексте акроним. Акроним это почти то же самое что и аббревиатура, только образованная из начальных букв, слов или словосочетаний, произносимая как единое слово, а не побуквенно.
Так же как и с аббревиатурой для расшифровки текста желательно использовать атрибут title.
Указывает автора документа и его адрес. Обычно отображается курсивом. Предназначен для поисковых систем для сбора информации об авторе его адресе и прочей информации владельца/цев сайта.
Выделяет в тексте цитату или сноску на другой документ. Обычно браузеры отображают её курсивом.
Отмечает текст как некий программный код. Обычно отображается моноширинным шрифтом.
Выделяет удалённый текст в новой версии документа. Выделенный текст станет перечёркнутым.
Напоминает теги физического форматирования <strike> и сокращённый <s> - перечёркнутый текст.
Использование тега <del>, более предпочтительно, так как помимо того, что он разбавляет текст логикой еще и заменяет собой теги <strike> и <s>, которые помечены спецификацией 4.01 как нежелательные.
Выделяет текст как определение. Как правило, когда в тексте встречается новый термин, авторы выделяют его курсивом и дают его определение, собственно для этого и нужен тег <dfn>
Выделяет новый текст в новой версии документа. Выделенный текст в большинстве браузеров станет подчёркнутым.
Противоположен по значению тегу <del> с ним же в паре обычно он и используется.
Выделяет особенно важный фрагмент текста. Обычно отображается курсивом.
От английского keyboard - клавиатура. Указывает текст вводимый с клавиатуры, или для названия клавиш. Обычно отображается моноширинным шрифтом.
Выделяет в тексте цитату. В отличие от тега <cite> цитата обозначенная тегом <q> автоматически берётся браузерами в кавычки.
Кстати, есть еще и тег физического форматирования текста <blockquote> данный тег тоже помечает текст как цитату и при этом выделяет его отступами и переносами строк от остального текста.
Пример:
Такие вот различия..
Обозначает текст, который выводится на экран в результате работы какой-либо программы. Обычно браузерами отображается моноширинным шрифтом.
Выделяет особенно важный фрагмент текста. Обычно отображается полужирным.
Выделяет текст, как переменную в работе какой либо программы. Обычно браузерами отображается курсивом.
Ну вот собственно и все теги созданные для логической разметки текста. Примеры показывать не стану, думаю и так всё понятно, а вот несколько полезных советов по разметке текста в документе дам.
Стиль всех тегов как логического, так и физического форматирования текста, великолепно настраивается с помощью средств CSS! Мой Вам совет учите CSS, если до этого момента ещё незнакомы с ним. При использовании свойств CSS в работе с текстом Вы забудете про проблему кроссбраузерности т. е. Ваш текст будет отображаться во всех браузерах именно так как нужно Вам, а не так как вздумается браузеру. Кроме того СSS открывает куда более широкие возможности связанные как со стилем текста, так и с дизайном сайта в целом.
Старайтесь правильно размечать текст на страницах Вашего сайта.. а именно:
Для начала, разбейте весь Ваш текст на параграфы с помощью тега <p> - это облегчит чтение текста как для людей так и для программ, кроме того, позволит Вам в дальнейшем, легко управлять текстом с помощью CSS. Вообще старайтесь не оставлять "голые" слова и предложения, не взятые в какой либо тег форматирования текста.
Соблюдайте значимость заголовков <h1>-<h6> т. е. допустим заголовок страницы берите в тег <h1> подзаголовки в тег <h2> еще менее значимые подзаголовочки в тег <h3> и т. д. В идеале на странице должен быть всего один заголовок <h1>, потом текст разбивается несколькими <h2> и далее по значимости заголовков.
Используйте теги логической разметки лишь там где они действительно необходимы т. е. не стоит например выделять аббревиатуру с помощью цитаты и наоборот.. на то она и логика что бы всё было логично!!
Используйте <em> и <strong> в тех случаях, если Вы хотите акцентировать внимание на тексте не только людей, но поисковых систем, в иных ситуациях используйте <b> и <i>.
Когда выучите CSS забудьте и выкиньте из головы тег <font> и все его атрибуты!! Им уже давно никто не пользуется, ну за редким исключением конечно..