Вопрос стандартов: I, EM, B, STRONG, BIG, SMALL - PullRequest
4 голосов
/ 05 марта 2010

В реальной работе я всегда использую EM для курсива, STRONG для выбора. И МАЛЕНЬКИЙ.

Я решил обновить свои знания в HTML + решил посмотреть в сторону HTML 5

Итак, xHTML 1.0 строгий, как язык разделения мух и котлет, и допускает следующие встроенные элементы, относящиеся к тексту:

I, EM, B, СИЛЬНЫЙ, БОЛЬШОЙ, МАЛЕНЬКИЙ

здесь я столкнулся с первым вопросом - почему теги B и я не были удалены или, по крайней мере, не стали устаревшими в XHTML? Ведь если вы посмотрите на DTD, то про тег B & I четко написано:

<! ELEMENT b% Inline;> <! - Bold font ->
<! ELEMENT i% Inline;> <! - Italic font ->

Является ли содержание жира и блюд структурной, логической особенностью? Это явно визуальная особенность.

Далее я посмотрел на http://www.w3schools.com/html5/html5_reference.asp и был удивлен, что тег BIG каким-то образом удален из HTML5, а его логический эквивалент SMALL - оставлен! Хотя БОЛЬШОЙ был даже в XHTML 1.0 Strict!

Где логика в таких перестановках? Объясните.

Ответы [ 9 ]

5 голосов
/ 05 марта 2010

Там - это , используемые для таких тегов, как i и small, которые не являются презентационными, но семантическими. <small> представляет мелкий шрифт (или легальный шрифт) и дополнительные комментарии. И i может использоваться для текста, который традиционно выделен курсивом, но не выделен, например названия книг, иностранные слова и латинские названия видов.

Относительно того, почему <big> был отброшен, а <small> нет, см. этот ответ .

4 голосов
/ 06 марта 2010

Прежде всего ЭМ не курсивом, а ЭМФАЗИСОМ. STRONG для сильного акцента. Вы никогда не должны использовать их для каких-либо других целей. Не соответствует спецификациям HTML 4, XHTML или HTML5.

Для презентационных эффектов следует использовать CSS .

Так почему же B, I и SMALL были сохранены в HTML5?

  1. Для предотвращения злоупотребления EM и СИЛЬНЫМИ. Если вы не можете использовать CSS, как на форуме или вики, лучше использовать несемантические элементы, чем злоупотреблять семантическими. Как и в наших комментариях к Stackoverflow, где я подозреваю, что em и strong сильно злоупотребляют, благодаря редактору WYSIWYG, который мы используем.

  2. Могут быть законные причины использовать жирный или курсив, помимо того, что указано в EM, STRONG и DFN. HTML5 определяет это как текст, который должен произноситься другим голосом или настроением, таким образом, он добавляет некий семантический и законный вариант использования. Это небольшое переопределение противоречиво.

  3. Вместо B и I некоторые программы и / или пользователи вставляют атрибуты стиля. Это меняет одно зло на еще худшее.

  4. То же самое относится и к МАЛОМУ. Он получил аналогичный вариант использования, где он как бы несет семантическое значение. НЕ означает побочные комментарии.

Кстати, B и я не устарели в HTML 4 / XHTML 1.

3 голосов
/ 05 марта 2010

почему теги B и я не были удалены или, по крайней мере, не устарели в XHTML?

Ничто не устарело в XHTML 1.0.Он был спроектирован для выражения HTML 4.01 в XML.

XHTML 1.1 лишь слегка его подправил.

Далее я посмотрел на http://www.w3schools.com/html5/html5_reference.asp

Нет.Не W3Schools.Пожалуйста, нет.

и был удивлен, что тег BIG каким-то образом удален из HTML5, а его логический эквивалент SMALL - оставлен!

Семантика для small имеетбыл переопределен .Он будет (если не изменен до того, как HTML5 станет рекомендацией) будет означать «побочные комментарии», а не «уменьшенный размер шрифта».

0 голосов
/ 05 августа 2016

О, ирония: «мелкий шрифт» является метонимом чего-то чисто презентационного, обычно несущего столь же важную информацию, но затрудняющего ее чтение, чтобы заставить читателя пропустить ее. Назад в день печати, это была бы просто работа "CSS".

0 голосов
/ 06 марта 2010

Лично я доволен этим состоянием - есть некоторые соглашения (семантика) вокруг «мелкого шрифта», и этот тег работает довольно хорошо для него. Если бы я сказал «прочитать мелкий шрифт» в разговоре, это имело бы смысл, но «прочитал крупный шрифт», и вы бы подумали: «Что такое« большой шрифт »?» Я счастлив видеть большой ход (никогда не используй это) и маленький отдых (используй это часто).

Лично я не пользуюсь б, нахожу там сильные стороны для своих нужд. Но есть случаи, когда вы хотите, чтобы текст был выделен курсивом, но не выделен. Если это акцент, я использую EM. Если это цитата, я использую CITE. Если это какое-то другое соглашение о курсиве, я не хочу злоупотреблять EM или CITE.

В Википедии есть несколько заметок о том, когда использовать курсив, и здесь вы найдете некоторые заметки о различных тегах HTML, которые можно использовать с этими примерами: http://www.w3.org/html/wg/wiki/Guide/italics#General_Examples

Не стесняйтесь обсуждать любые или все примеры. Это был только мой удар в этом. Некоторые из них просты (например, использование EM), другие несколько двусмысленны. Я предпочитаю использовать I для курсива, а не выбирать (a) EM, где это было бы неправильно, или (b) SPAN с курсивом в стиле шрифта, который не несет семантического значения.

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

И для тех, кто не любит его использовать, вам никогда не придется! Это не обязательно:)

0 голосов
/ 05 марта 2010

Я считаю, что Хиксон должен придерживаться «стиля» для изменения размеров шрифта, не используя эти «большие» и «маленькие» теги.

Поддерживать «маленький» и удалять «большой» просто неправильно.

0 голосов
/ 05 марта 2010

Почему <small> все еще в HTML5, а <big> нет?

Я полагаю, что <small> все еще существует, потому что на практике его часто используют для дополнительных комментариев, заявлений об отказе от ответственности и т. Д., И нет существующего элемента HTML, подходящего для этой задачи.

Ян Хиксон попытался спроектировать HTML5, основываясь на том, как HTML использовался на практике: прокладывая коровники. Таким образом, есть места, где логика приносится в жертву практичности. (Как говорится в блоге WHATWG: «Пожалуйста, оставьте свое чувство логики у двери, спасибо!» .

Если люди уже уже используют <small> для побочных комментариев и не используют <big> для чего-либо значимого (я говорю «если», так как есть много места для обсуждения и / или исследования ), тогда почему бы не закрепить обычное использование первого в спецификации и удалить второе?

Почему <b> и <i> все еще в HTML5, если они имеют чисто визуальный эффект?

<b> и <i> были переопределены, чтобы иметь значение в HTML5, хотя это очень легкая форма значения:

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

0 голосов
/ 05 марта 2010

Я думаю, часть ответа о <big> и <small> можно найти в спецификации :

Маленький элемент представляет дополнительные комментарии, такие как мелкий шрифт.

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

Так что в основном семантика <small> - это «побочные комментарии» и «мелкий шрифт» (в смысле отказа от ответственности), который кодируется в HTML элементом с именем «small». Может быть, название должно быть лучше, конечно.

0 голосов
/ 05 марта 2010

Стандарты - это больше политика, чем логический разум.

Зарегистрируйтесь в любом списке рассылки w3 (личный фаворит public-html ), откиньтесь на спинку кресла и наслаждайтесь (?) Мылом реальности.

...