Mode presque standard de Gecko


Depuis Mozilla 1.0.1 et 1.1 beta, un nouveau mode de rendu appelé « presque standard » existe. Celui-ci s'ajoute aux modes « quirks » et « standard » qui existaient depuis un bout de temps.

Le mode de rendu « presque standard » est exactement le même que le mode « standard » en tous points sauf un : le calcul de la hauteur pour les boites de ligne et certains des éléments en ligne dans celles-ci. Un cas courant de l’impact de cela est le placement des images à l'intérieur des cellules de tableaux. Cela signifie que les mises en page avec des découpages d'images dans des tableaux seront moins probablement mis en pièces dans les navigateurs basés sur Gecko à partir du moteur de rendu de Mozilla 1.0.1 ou supérieur, que ce soit en mode « quirks » ou « presque standard ». (Consultez l'article "Images, tableaux et décalages mystérieux" pour une explication détaillée du traitement de ces mises en pages particulières en mode « standard ».)

En détaillant légèrement plus, voici grossièrement ce qui diffère dans le mode presque standard : les boites en ligne qui n’ont pas de texte hors espaces blancs comme enfant et qui n’ont pas de bordure, padding ou marges :

  • n’influencent pas la taille de la boite de ligne (autrement dit, leur hauteur de ligne est ignorée) ;
  • ne prennent pas une hauteur (par exemple pour leur arrière plan) plus large que celle de leurs descendants, même si leur taille de police est plus large (s’ils n’ont pas de descendant, ils sont positionés à leur ligne de base avec une taille nulle).

À part cette différence, les mode « presque standard » et « standard » sont exactement pareils en termes de mise en page et autres comportements.

Déclenchement du mode « presque standard »

Les déclarations DOCTYPE qui déclencheront le mode « presque standard » sont celles qui contiennent :

  • L'identificateur public "-//W3C//DTD XHTML 1.0 Transitional//EN"
  • L'identificateur public "-//W3C//DTD XHTML 1.0 Frameset//EN"
  • L'identificateur public "-//W3C//DTD HTML 4.01 Transitional//EN", avec un identificateur système
  • L'identificateur public "-//W3C//DTD HTML 4.01 Frameset//EN", avec un identificateur système
  • L'identificateur système IBM "http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd"

Un DOCTYPE complet contient un identificateur public et un identificateur système. En parlant de DOCTYPE, beaucoup se réfèreront à un DOCTYPE comme étant « avec URI » ou « sans URI ». L'URI est l'identificateur système. Par exemple, examinons le DOCTYPE qui suit :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
			"http://www.w3.org/TR/html4/loose.dtd">

Les parties sont les suivantes :

  • Identificateur public : "-//W3C//DTD HTML 4.01 Transitional//EN"
  • Identificateur système : "http://www.w3.org/TR/html4/loose.dtd"

Par conséquent, tout DOCTYPE HTML 4.01 Transitional ou Frameset avec une URI (identificateur système) déclenchera le mode « presque standard », tout comme tout DOCTYPE XHTML 1.0 Transitional ou Frameset, avec ou sans URI. Les auteurs ne faisant pas partie d'IBM n'ont aucune raison de se préoccuper du DOCTYPE personnalisé qui déclenchera aussi le mode « presque standard ».

Recommandations

  • Pour les auteurs qui tentent de migrer vers un balisage valide, que ce soit en HTML 4.01 ou XHTML 1.0, et qui utilisent toujours des concepts de mise en page basés sur des images dans des tableaux, assurez-vous d'utiliser un DOCTYPE qui déclenchera le mode « presque standard ».

Aussi sur MDC

Informations sur le document origninal

  • Auteur(s) : Eric A. Meyer, Netscape Communications
  • Date de dernière mise à jour : Publié le 8 novembre 2002
  • Copyright : Copyright © 2001-2003 Netscape. Tous droits réservés.
  • Note : Cet article a été réédité et faisait originellement partie du site DevEdge.