28220 sujets

CSS et mise en forme, CSS3

Bonjour,

J'ai un étrange problème de positionnement d'une image de fond !
Normalement, je devrais avoir un magnifique carré blanc centré sur fond rouge.
Or j'ai ça :
http://www.meybeck.net/tests/test.php

Dans Firefox 1.5, le carré blanc est décalé en haut.
Ca marchait dans la version précédente de FF, dans ie, etc.

Je n'utilise que cette règle css :
body {
	background: #A80035 url(fond-body.gif) no-repeat center ;
}


C'est surement moi qui bug, mais je ne vois pas ou !

Merci d'avance pour vos réponses

Jan-Benoît Meybeck
Modifié par Meybeck (15 Jan 2006 - 23:58)
En fait, j'ai trouvé tout seul (et bien seul, d'ailleurs) la solution : j'utilisais un Doctype trop strict pour mes besoins : avec un doctype xhtml 1 même transitionnel, FF 1.5 (et lui seul) considère la hauteur du body comme nulle si il est vide.
Ce qui fait que les images centrée en hauteur ou collées en bas se retrouvent... en haut ! Ou même coupées à moitiée.
Avec un doctype html 4, tout va mieux.

N'empêche. Pourquoi diable les hauteurs et largeurs ne sont-elles pas traitées de la même façon dans les recommandation W3c ??? Mystère, mystère ...
Bonjour,

En s'en tenant à HTML et à XHTML traité en tant que text/html, hauteurs et largeurs ne sont traitées que d'une seule façon dans les spécifications. Ce sont les navigateurs qui adoptent un mode de rendu strict ou un mode de rendu compatible avec le comportement de leurs anciennes versions, selon la présence et la syntaxe de la DTD : c'est le mécanisme, non standard, nécessaire mais perturbant, du doctype switching.

En revanche, mais cela ne concerne pas ton exemple ci-dessus, le passage de (X)HTML en text/html à XHTML traité en tant que XML entraînerait effectivement un changement dans le rôle des éléments body et html pour la propriété background : body est l'élément magique qui peint le canevas où est dessiné le document en HTML, mais plus en XHTML traité comme XML.
Modifié par Laurent Denis (16 Jan 2006 - 07:41)