La valeur par défaut <h5>
et <h6>
les en-têtes de section en HTML5 ont une taille de police de 0.83em
et 0.67em
, respectivement, tandis que la valeur par défaut <p>
la taille de la police est 1em
. Cela signifie que dans un bloc de texte contenant <h5>
, <h6>
et <p>
tags, ces titres seront plus petits que le texte qu'ils contiennent:
(La taille de police par défaut ci-dessus est 14px
)
Cela semble contre-intuitif: les titres sont censés attirer l'œil et commander le début d'une section, et la taille de la police est un indice visuel important. Y a-t-il une raison pour laquelle les tailles de police par défaut rendent ces en-têtes plus petits que le texte en dessous?
J'ai cherché listes de diffusion W3C mais je n'ai trouvé aucun débat sur cette décision.
Voici ce que je peux déduire:
La première version publiée de la spécification HTML (avant l'entrée en vigueur de CSS) spécifiée que h4
et h5
doit avoir la taille d'une "police normale". La taille de police pour h6
n'était pas explicitement spécifié, mais je suppose que c'était aussi la taille de police normale.
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.
CSS a fait irruption sur la scène. Ou vraiment, boitait sur la scène et cassé . La première feuille de style par défaut recommandée pour les navigateurs spécifié uniquement:
H1 { font-size: xx-large } H2 { font-size: x-large } H3 { font-size: large }
h4
à travers h6
serait donc 1em
.
HTML 3.2 a supprimé toutes les recommandations de taille de police par rapport au texte du document, seulement recommandant :
Les titres plus importants sont généralement affichés dans une police plus grande que les titres moins importants.
Cela est un peu en conflit avec CSS1, mais les deux ne faisaient pas partie l'un de l'autre à l'époque. La plupart des styles étaient toujours réalisés avec des attributs HTML en ligne, qui n'étaient toujours pas obsolètes.
CSS2 est sorti, et il a supprimé une feuille de style par défaut de ses propres spécifications, et à la place lié à le nouveau exemple de feuille de style pour HTML 4. dans HTML spécification.
Il s'agit de l'origine des en-têtes explicitement définis comme plus petits que 1em
, au moins pour autant que je sache. La feuille de style HTML 4.0 recommandée spécifie les valeurs que la plupart des navigateurs conservent jusqu'à aujourd'hui par défaut:
H5 { font-size: .83em; line-height: 1.17em; margin: 1.67em 0 } H6 { font-size: .67em; margin: 2.33em 0 }
Ooh, l'archéologie numérique!
Il s'avère donc que vous pouvez retracer cela aux "styles" par défaut (pas exactement CSS!) D'Internet Explorer 3-4 et de Netscape Navigator 3-4. Plus précisément, ils sont probablement extraits d'IE4pp2 mais introduits avec IE3. La façon dont IE/Microsoft a décidé de ces valeurs est malheureusement perdue au fil du temps (au moins publiquement - elle pourrait bien être disponible dans les archives de messagerie internes de Microsoft ... quelqu'un connaît-il un employé de MS?).
J'ai essayé de reconstruire la chaîne ci-dessous.
Comme Jacob l'a mentionné, la première version de CSS2 de novembre 1997 inclut une exemple de feuille de style qui définit h5
Comme .83em
Et h6
comme .67em
. Il note également:
La feuille de style de base décrit le rendu typique de tous les UA visuels des éléments HTML 4.0 [HTML40]). La feuille de style est basée sur des recherches approfondies sur la façon dont les UA actuels rendent le HTML, et les développeurs sont encouragés à l'utiliser comme feuille de style par défaut dans leurs implémentations.
En creusant un peu plus loin, nous pouvons trouver un "feuille de style de base" avec les mêmes valeurs, qui note:
J'ai développé l'exemple de feuille de style pour le brouillon W3C CSS2, mais le développement éditorial des matériaux à cet endroit n'a pas de statut W3C officiel.
...
La feuille de style de base décrit le rendu "consensus par défaut" de tous les éléments HTML 4.0 dans les navigateurs Web dérivés de Mosaic (Netscape Navigator et Microsoft Internet Explorer). Il est destiné à servir de base pour l'édition ou la "mise en cascade" d'autres modules de feuille de style, une référence informative, un complément (non officiel) à la spécification HTML 4.0, un exercice d'architecture de feuille de style et un outil de test de navigateur. La feuille de style de base capture le statu quo pour aller au-delà.
Nous pouvons continuer à suivre cette feuille de style de base pour revenir à la liste de diffusion de style www.
em
: https://lists.w3.org/Archives/Public/www-style/1997Jul/0190.htmlSerifMedium
, Normal
est 12
(pt
, probablement), H1
, H2
, H3
, H4
, H5
Et H6
Étaient 24
, 18
, 14
, 12
, 10
Et 8
Respectivement.em
relative avec "Normal" (12pt
) Comme 1em
, Correspondent aux tailles de base des feuilles de style! H5
À 10/12
= .83em
, H6
À 8/12
= .67em
!Il est peut-être intéressant de noter qu'à cette époque, le W3C a approuvé un ensemble de "feuilles de style de base" destiné (?) À devenir un meilleur défaut. Ces feuilles de style ( désormais accessibles via Internet Archive ) utilisent des valeurs plus grandes pour toutes les rubriques , ce qui donne h6
À 1em
Et h5
À 1.17em
. Malheureusement, il semble que cet ensemble de feuilles de style n'ait jamais vraiment décollé, nous nous retrouvons donc avec les étrangement petits h5
Et h6
.