28173 sujets

CSS et mise en forme, CSS3

Bonjour,

il y a encore quelques temps je pensais que tout le contenu affiché à l'écran était contenu dans la balise body, seulement j'ai vu quelques feuilles de style qui appliquaintt un style à la balise html !

J'avoue que je suis un peu dans le flou concernant la distinction html/body en ce qui concerne le CSS... Smiley sweatdrop
Modifié par Sol (26 Apr 2007 - 10:02)
Les CSS permettent d'appliquer un style à n'importe quel élément HTML : <body>, <input>, <hr> ou encore <span> ...
Appliquer un style à <html> c'est plus (de ce que j'ai pu en voir) pour la compatibilité avec certains types de périphériques ou de navigateurs qui n'appliquent pas de la même manière si c'est défini sur le <body> ou <html>.
Sol a écrit :
seulement j'ai vu quelques feuilles de style qui appliquaintt un style à la balise html !

T'as un exemple à faire voir ? Smiley eek
Modifié par BeliG (26 Apr 2007 - 10:42)
BeliG a écrit :
T'as un exemple à faire voir ? Smiley eek

html {
height: 100%;
font-size: 100%;
}

Voilà.

Le height: 100% est nécessaire avec certains navigateurs (je ne sais plus exactement lesquels) pour pouvoir appliquer une hauteur de 100% à body, puis le cas échéant à un enfant de body.

Le font-size: 100% permet de corriger un bug d'IE dans la gestion des tailles de police en EM. Je le place pour ma part systématiquement dans mes feuilles de style, même si à vrai dire je pourrais l'appliquer à body plutôt qu'à html.
Appliquer un style à l'élement html est particulièrement utile lorsqu'on sert la page en type application/xml+xhtml.
En effet, dans ce cas, c'est la racine du document qui sert de cadre de la page, comme dans n'importe quel autre document XML.

Le meilleur exemple est celui de la couleur de fond. Ce code :
body {
background-color: red;
}

ne permet pas d'appliquer la couleur jusqu'au bas de la page. Il faut remplacer body par html.

Paradoxalement, il n'est pas possible de mettre l'attribut style à la balise ouvrante de l'élément html. La spécification HTML 4.01 précise que, même si style est un attribut universel, il ne peux être présent sur base, basefont, head, html, meta, param, script, style et title.