krakkos a écrit :
Par rapport à son élément parent ?
Non, pour une dimension de marge ou height, width, padding, etc., ça correspond à la taille du texte de l'élément lui-même (celui qui est ainsi dimensionné ou affublé d'une marge ou d'un padding), que cette taille de texte soit précisée avec une unité fixe (
font-size: 12px par exemple), héritée du parent, ou encore héritée du parent
et modifiée par une taille relative (
font-size: .8em ou
font-size:80%).
krakkos a écrit :
Si je défini html {font-size:1em} ou html {font-size:100%} cela s'applique aux éléments de texte (<body>, <p>, <ul>, <table>...)
Oui.
krakkos a écrit :
mais pas aux éléments de titre : <h1> à <h6> (ni à <pre>) qui ont leur propre valeur de taille par défaut ?
Si, ça s'applique à eux également. Leur taille par défaut est en général exprimée dans une unité relative (em ou pourcentages ou autre mécanisme selon la cuisine interne du navigateur). Si tu définis la taille du texte de HTML à
font-size: 50px, tous les éléments seront impactés, y compris les titres même si ces derniers seront proportionellement plus gros que le reste du texte.
À vérifier peut-être pour l'élément PRE, certaines navigateurs proposent de fixer une taille de texte par défaut pour le texte à chasse fixe, elle s'applique peut-être dans ce cas en l'absence d'un
font-size sur l'élément PRE. Comme si le navigateur avait les styles par défaut suivants:
RACINE {
font-size: [i]taille du texte à chasse variable par défaut[/i]; /* 16px sauf si réglage différent de l'utilisateur */
}
HTML, BODY, DIV, etc. {
font-size: inherit; /* valeur par défaut */
}
PRE, CODE, KBD {
font-size: [i]taille du texte à chasse fixe par défaut[/i]; /* 14px je crois */
}
(Ce n'est qu'une représentation schématique, bien sûr. La «racine» est en amont de l'élément HTML -- qui est la racine du document à proprement parler.)