28173 sujets

CSS et mise en forme, CSS3

Bonjour à tous (et à toutes bien sûr !),

J'ai découvert cet article il y a une semaine :

http://css.alsacreations.com/Tutoriels-et-articles-divers/A-propos-du-Modele-de-boite-Microsoft-ou-quirks

Je l'ai imprimé, lu, relu. J'ai essayé sur une nouvelle page simple que j'ai faite en codant bloc-notes.
Mais ça ne produit pas l'effet décrit, à savoir un rendu identique sour IE6 et Firefox (2). J'ai demandé à d'autres collègues développeurs qui ont comme moi été ravis par cette découverte mais pour qui cela n'a pas fonctionné non plus.
Pourtant les conditions pour que cela fonctionne sont simples à mettre en oeuvre.
Avez-vous réussi ? Et si oui, où était la subtilité qui peut faire passer à côté de la bonne réalisation de la chose ?

Merci.
osscour a écrit :
Avez-vous réussi ?

Bien sûr. Il suffit d'utiliser un Doctype qui va bien pour activer le mode Standard dans tous les navigateurs (sauf IE5 Windows, mais bon...).

Parmi les pièges éventuels:
- l'utilisation d'un prologue XML, qui fait buguer IE6 (qui bascule en mode Quirks);
- l'utilisation d'un Doctype HTML 4.0 sans URL de la DTD.

Enfin, signalons que le mode Standard d'Internet Explorer (6 ou 7) est plus proche d'une application correcte de CSS 2.1, mais que ce n'est pas une solution miracle qui supprimerait comme par magie tous les bugs de ce navigateur. Et on sait que ces bugs sont nombreux. On peut bien entendu dire la même chose des autres navigateurs (aucun navigateur actuel n'a une implémentation complète ou parfaite de CSS 2.1, chaque navigateur a ses bugs, etc.).

En résumé: il faut travailler en mode Standard (à moins d'être un peu maso ou de faire uniquement du spacer.gif dans des tableaux), mais le travail de débugage qui incombe à l'intégrateur ne se limite pas à cette mesure.
Florent V. a écrit :

Bien sûr. Il suffit d'utiliser un Doctype qui va bien pour activer le mode Standard dans tous les navigateurs (sauf IE5 Windows, mais bon...).

Parmi les pièges éventuels:
- l'utilisation d'un prologue XML, qui fait buguer IE6 (qui bascule en mode Quirks);
- l'utilisation d'un Doctype HTML 4.0 sans URL de la DTD.

Enfin, signalons que le mode Standard d'Internet Explorer (6 ou 7) est plus proche d'une application correcte de CSS 2.1, mais que ce n'est pas une solution miracle qui supprimerait comme par magie tous les bugs de ce navigateur. Et on sait que ces bugs sont nombreux. On peut bien entendu dire la même chose des autres navigateurs (aucun navigateur actuel n'a une implémentation complète ou parfaite de CSS 2.1, chaque navigateur a ses bugs, etc.).

En résumé: il faut travailler en mode Standard (à moins d'être un peu maso ou de faire uniquement du spacer.gif dans des tableaux), mais le travail de débugage qui incombe à l'intégrateur ne se limite pas à cette mesure.


Bonjour,

merci pour votre réponse.
ce que vous voulez me faire comprendre, c'est que finalement faire ce qui est indiqué ne me débarrasse pas de la mauvaise interprétation du code par IE ?
Je pensais que le model box de IE n'était plus à prendre en compte si on faisait ce qui était indiqué ?

Le code que je met est uniquement celui-ci


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>


Il me semblait donc avoir respecté les préconisations ?
Le reste du code xhtml est le plus propre possible.
C'est à dire dans la mesures de ce que je n'oublie pas. Smiley langue

Il est vrai que penser orienté structure car xhtml, se mélange chez moi avec accessibilité et est tributaire du rendu.
Car ce qu'on attend de nous d'un site est sa présentation (le visuel).
Les personnes (clients, chefs) se moquent du pourquoi du comment...
Je ne met jamais de spacer.gif ou autres tableaux pour de la mise en page.

Maintenant en survolant un peu le forum, je retrouve des choses comme le "layout" de microsoft et pas mal d'autres choses qui ont fait qu'il y a 2 ans j'avais opté pour du xhtml strict et css 2 pour des navigateurs respectants les standards.
Donc IE 5, 6, 7 ça ne m'intéressait pas (à l'époque ou à titres de projets personnels associatifs actuels).

Mais en entreprise ou l'absence de professionnalisme peut régner (alors qu'on nous demande du perfectionnisme), on préfère parfois laisser en place des mauvaises habitudes (IE pack Offices bourrés de bugs) et ne surtout pas chercher à atteindre un "mieux" (choix de solutions efficaces, solides, propres, pérennes).
J'ai du mal à me dire que je perds un temps fou à tenter de faire fonctionner de manière potable des choses dans ces conditions... Smiley rolleyes

Par exemple utiliser des hacks de code pour IE (bien sûr), ça me parait déplacé dans le sens où je pensais qu'en faisant les choses bien dès le début (structure, sens, séparation fond/forme) on évitait ce qu'on a connut du temps de la guerre des navigateurs et des javascripts sélectifs...
Il me semble qu'un programmeur évite de re-écrire plusieurs fois la même chose ? Et j'ai l'impression que l'on doit être dans un compromis propreté/rendu qui est difficile à accepter après tout ce temps consacré à apprendre de bonnes pratiques de codage ?

Qu'en pensez-vous ?

S'il y a un sujet ouvert sur la différence pratiques professionnelles souhaitées et réalités du terrain dans le monde de l'entreprise, ça m'intéresse...


Merci.
osscour a écrit :
Je pensais que le model box de IE n'était plus à prendre en compte si on faisait ce qui était indiqué ?

C'est bien le cas. Je signalais juste le fait que régler le problème du modèle de boite ne réglait pas pour autant les autres problèmes que l'on peut rencontrer.

osscour a écrit :
Le code que je met est uniquement celui-ci
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>

Auquel cas je veux bien voir la page qui pose problème (et qui ne serait pas rendue en mode Standard d'après ton premier message). Il ne devrait pas y avoir de problème lié au mode Quirks.

osscour a écrit :
Par exemple utiliser des hacks de code pour IE (bien sûr), ça me parait déplacé dans le sens où je pensais qu'en faisant les choses bien dès le début (structure, sens, séparation fond/forme) on évitait ce qu'on a connut du temps de la guerre des navigateurs et des javascripts sélectifs...

C'est vrai dans l'ensemble, mais ça peut être un peu moins vrai dans la pratique et sur des détails précis. On peut avoir besoin d'adresser un correctif spécifique à tel ou tel navigateur (en gros, il s'agit d'IE dans la plupart des cas, et surtout d'IE6). Pour la méthode, je t'invite à parcourir la FAQ (voir dans la FAQ ce qui est écrit sur les hacks CSS et sur les commentaires conditionnels).