Почему <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.


Возможно, интерес представляет тот факт, что примерно в то же время W3C одобрила набор "Базовых таблиц стилей", которые должны были (?) Стать лучшим по умолчанию. Эти таблицы стилей (теперь доступные через Интернет-архив) действительно используют большие значения для всех заголовков, что приводит к h6 на 1em и h5 на 1.17em. К сожалению, кажется, что этот набор таблиц стилей так и не появился, поэтому у нас остались странно маленькие h5 и h6.

Ответ 3

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