Почему <h5> и <h6> имеют меньший размер шрифта, чем <p> в большинстве таблиц стилей по умолчанию для пользовательского агента?
По умолчанию заголовки разделов <h5>
и <h6>
в HTML5 имеют размер шрифта 0.83em
и 0.67em
соответственно, тогда как размер шрифта <p>
по умолчанию равен 1em
. Это означает, что в блоке текста, содержащем теги <h5>
, <h6>
и <p>
, эти заголовки будут меньше, чем текст, который они возглавляют:
![Default font sizes from h1 to h6 in relation to paragraph font size]()
(Размер основного шрифта по умолчанию выше 14px
)
Это кажется нелогичным: заголовки должны привлекать внимание и задавать начало раздела, а размер шрифта является важной визуальной подсказкой. Есть ли причина, по которой размеры шрифтов по умолчанию делают эти заголовки меньше, чем текст под ними?
Ответы
Ответ 1
Я искал в списках рассылки W3C, но не нашел никаких обсуждений по этому решению.
Вот что я могу сделать вывод:
1995
Первая опубликованная версия спецификации HTML (до появления CSS) фактически указала, что h4
и h5
должны иметь размер "нормального шрифта". Размер шрифта для h6
не был указан явно, но я бы предположил, что это был также нормальный размер шрифта.
H3
Italic, large font, slightly indented from the left
margin. One or two blank lines above and below.
H4
Bold, normal font, indented more than H3. One blank line
above and below.
H5
Italic, normal font, indented as H4. One blank line
above.
H6
Bold, indented same as normal text, more than H5. One
blank line above.
1996
CSS вырвался на сцену. Или действительно, хромал на сцену и сломался. Первая рекомендуемая таблица стилей по умолчанию для браузеров указана только :
H1 { font-size: xx-large }
H2 { font-size: x-large }
H3 { font-size: large }
Таким образом, h4
- h6
будут 1em
.
1997
В HTML 3.2 пропущены все рекомендации по размеру шрифта относительно текста документа, только рекомендует:
Более важные заголовки обычно отображаются более крупным шрифтом, чем менее важные.
Это немного противоречит CSS1, но в то время они не были неотъемлемой частью друг друга. Большая часть стилей по-прежнему выполнялась с помощью встроенных атрибутов HTML, которые все еще не были устаревшими.
1998
Вышел CSS2, и он удалил таблицу стилей по умолчанию из собственной спецификации и вместо этого связался с новой примером таблицы стилей для HTML 4.0 в спецификации HTML.
Это происхождение заголовков, явно установленных меньше, чем 1em
, по крайней мере, насколько я могу судить. Рекомендуемая таблица стилей HTML 4.0 задает значения, которые большинство браузеров сохраняют до сегодняшнего дня по умолчанию:
H5 { font-size: .83em; line-height: 1.17em; margin: 1.67em 0 }
H6 { font-size: .67em; margin: 2.33em 0 }
Ответ 2
Ох, цифровая археология!
Итак, получается, что вы можете проследить это до стандартных стилей (не совсем CSS!) Internet Explorer 3-4 и Netscape Navigator 3-4. Более конкретно, они, вероятно, взяты из IE4pp2, но представлены в IE3. То, как IE/Microsoft определились с этими значениями, к сожалению, потеряно в песках времени (по крайней мере, публично - оно вполне может быть доступно во внутренних почтовых архивах Microsoft... кто-нибудь знает сотрудника MS?).
Я пытался восстановить цепь ниже.
Как упоминал Джейкоб, самый ранний вариант CSS2 от ноября 1997 года включает в себя пример таблицы стилей, в которой h5
определяется как .83em
а h6
как .67em
. Он также отмечает:
Базовая таблица стилей описывает типичный рендеринг всех элементов HTML 4.0 [HTML40]) визуальных UA. Таблица стилей основана на обширном исследовании того, как нынешние UA отображают HTML, и разработчикам рекомендуется использовать его в качестве таблицы стилей по умолчанию в своих реализациях.
Пройдя немного дальше, мы можем найти "базовую таблицу стилей" с теми же значениями, которая отмечает:
Я разработал образец таблицы стилей для черновика W3C CSS2, но редакционная разработка материалов в этом месте не имеет официального статуса W3C.
...
Базовая таблица стилей описывает "согласованное по умолчанию" отображение всех элементов HTML 4.0 в производных от Mosaic веб-браузерах (Netscape Navigator и Microsoft Internet Explorer). Он предназначен в качестве основы для редактирования или "каскадирования" других модулей таблиц стилей, информативной справочной информации, (неофициального) дополнения к спецификации HTML 4.0, упражнения по архитектуре таблиц стилей и инструмента тестирования браузера. Базовая таблица стилей фиксирует статус-кво, чтобы выйти за его пределы.
Далее мы можем отследить эту базовую таблицу стилей до списка рассылки www-style.
- Октябрь 1997: Тодд Фарнер объявляет таблицу стилей https://lists.w3.org/Archives/Public/www-style/1997Oct/0056.html
- Июль 1997: Тодд Фарнер указывает на намерение создать "таблицу стилей по умолчанию": https://lists.w3.org/Archives/Public/www-style/1997Jul/0150.html, https://lists.w3.org/Archives/Public/www-style/1997Jul/0159.html
- Там Э. Стивен Мак отмечает, что в IE 4.0 pp2 есть несколько стилей по умолчанию, которые могут быть полезны для справки: https://lists.w3.org/Archives/Public/www-style/1997Jul/0152.html.
- Крис Лилли, "Граф и парень шрифтов" из W3C, говорит, что было бы неплохо иметь таблицу стилей по умолчанию в качестве примера в спецификации, и предлагает использовать единицы размера шрифта по умолчанию
em
: https://lists.w3. орг/Архивы//WWW-стиль Public/1997Jul/0190.html - Э. Стивен Мак отмечает, что на тот момент они хотели только описать текущее поведение, а не прописывать поведение для новых UA: https://lists.w3.org/Archives/Public/www-style/1997Jul/0171.html.
- Джей извлекает стили IE4pp2 из реестра: https://lists.w3.org/Archives/Public/www-style/1997Jul/0172.html
- Значительный интерес здесь представляют размеры шрифтов. Если посмотреть на
SerifMedium
, то Normal
равен 12
(вероятно, pt
), H1
, H2
, H3
, H4
, H5
и H6
24
, 18
, 14
, 12
, 10
и 8
соответственно. - Другими словами, эти размеры при преобразовании в относительные
em
с "Normal" (12pt
) 12pt
1em
соответствуют базовым размерам таблицы стилей! H5
в 10/12
= .83em
, H6
в 8/12
= .67em
!
- Крис Уилсон, "парень из таблиц стилей" в команде IE, отмечает, что, несмотря на поставку с IE4pp2, эти стили действительно используются IE3: https://lists.w3.org/Archives/Public/www-style/1997Jul/0174. HTML
Возможно, интерес представляет тот факт, что примерно в то же время W3C одобрила набор "Базовых таблиц стилей", которые должны были (?) Стать лучшим по умолчанию. Эти таблицы стилей (теперь доступные через Интернет-архив) действительно используют большие значения для всех заголовков, что приводит к h6
на 1em
и h5
на 1.17em
. К сожалению, кажется, что этот набор таблиц стилей так и не появился, поэтому у нас остались странно маленькие h5
и h6
.
Ответ 3
Нет, это просто размер шрифта по умолчанию. Обычно вы редактируете заголовок с помощью файла CSS, в котором вы можете выбрать любой размер шрифта.