28173 sujets

CSS et mise en forme, CSS3

Salut a tous,

cette fois ci j'ai un probleme avec IE. En fait j'ai un cadre d'une largeur de 165 pixel avec une bordure de 1 px.

Le problème que j'ai est qu'avec IE le cadre fait toujours 165 px de large avec les bordures alors que sous les autres navigateurs le cadre (avec les bordures) fait 167px.

Est-ce-normal? Si oui comment remédier à ce problème?

Merci d'avance!
Modifié par death83 (01 Oct 2006 - 21:32)
Salut,

death83 a écrit :


cette fois ci j'ai un probleme avec IE.


Non


death83 a écrit :

Est-ce-normal?

Oui

death83 a écrit :

Si oui comment remédier à ce problème?

Résoudre ton problème, et non celui d'IE, en mettant une Déclaration de Type de Document (DTD) en début de déclaration de ton document.
J'ai bien un doctype Smiley cligne .

a écrit :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">


J'ai également essayé en XHTML 1.0 strict et le problème est toujours la.

J'ai pas essayé en HTML 4.01 mais je pense que le problème sera toujours la non?

C'est interprétation ne va pas changer à cause de doctype quand même.
death83 a écrit :
J'ai bien un doctype Smiley cligne .
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Petit problème (pas directement en rapport avec le problème que tu expose, mais je signale au passage) : es-tu sûr d'utiliser XHTML 1.1 correctement ? C'est à dire en tant que format XML (et non pas format HTML), et servi avec le type MIME "application/xhtml+xml" (et non pas "text/html") ?
Cf. la FAQ : http://forum.alsacreations.com/faq/#item42

death83 a écrit :
J'ai également essayé en XHTML 1.0 strict et le problème est toujours la.

Voilà qui est étrange. Aurais-tu une page de test accessible en ligne pour pouvoir constater ça de visu ?

death83 a écrit :
C'est interprétation ne va pas changer à cause de doctype quand même.

Si. En l'absence de doctype ou en présence d'un doctype non conforme, Internet Explorer utilise un mode de rendu dit « traditionnel » (ou plus joliment « quirks mode »), où les bordures et padding sont retranchés à la largeur définie.
Pour obtenir un comportement standard conforme au modèle de boîte CSS, un doctype valide est donc nécessaire.
death83 a écrit :
J

J'ai également essayé en XHTML 1.0 strict et le problème est toujours la.


Enlève le prologue xml en restant en xhtml 1.0, c'est ce prologue qui fait basculer IE6 en mode quirck.
Modifié par clb56 (01 Oct 2006 - 08:59)
C'est bon j'ai mis ca dans mon entete:


 if(stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml"))
{
	header("Content-Type: application/xhtml+xml; charset=iso-8859-1");
	echo '<?xml version="1.0" encoding="iso-8859-1"?>';
	echo('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">');
} 
else 
{
	header("Content-Type: text/html; charset=iso-8859-1");
	echo (' <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">');
} 


Donc ma page passe en XHTML 1.0 pour IE sans le prologue XML, mais le problème de bordure est toujours la Smiley ohwell .
Modifié par death83 (01 Oct 2006 - 11:24)
death83 a écrit :
Donc ma page passe en XHTML 1.0 pour IE sans le prologue XML, mais le problème de bordure est toujours la Smiley ohwell .

Tiens, je n'ai pas vu de problème de bordure qui élargirait le bloc, pour ma part.

Par contre j'ai vu que certains éléments avaient un rendu problématique avec un bout de background qui disparaît. Ça ne me semble pas lié au modèle de boîte ou au quirks mode, mais plutôt, peut-être, à un bug de HasLayout.

http://www.test.blog-and-blues.org/haslayout/trad_temp.html