romy.tetue.net

Développement front et conception web
X-HTML, CSS, SPIP, sémantique et accessibilité

Paris-Web 2010, j’y vais ! (du 14 au 16 octobre).

Quand CSS peut le maximum, IE en fait le minimum


19 novembre 2006,
par Romy Têtue

Partagez cet article : Voter pour cet artice sur hellocoton.fr Netvibes Yahoo myspace Technorati stumbleupon Digg Del.ico.us

Nous connaissons bien les propriétés width et height du modèle des boîtes CSS qui permettent de déterminer, respectivement, la largeur et la hauteur des éléments [*]. On peut leur attribuer des valeurs fixes ou relatives.

D’une façon générale, je préfère les mises en page fluides, c’est-à-dire reposant sur des dimensions relatives (en % ou en em). Mais cela pose problème pour les textes, qui peuvent atteindre des largeurs trop importantes, rendant la lecture malaisée (si les lignes d’un texte sont longues, sa lecture en est inconfortable). Or un texte de largeur relative 50 % s’affichera respectivement en 400, 512, 640 pixels de large sur un écran de 800, 1024, 1280 pixels de large (et ça ne va pas en rapetissant). On rêve alors pouvoir poser une sorte de butoir, une largeur maximale à ne pas dépasser.

Faites pour arranger ça, les propriétés introduites en CSS 2 min-width et max-width fixent, respectivement, la largeur minimale et maximale d’un élément. De même min-height et max-height en fixent la hauteur minimale et maximale. Ces propriétés s’appliquent aux éléments redimensionnables (c’est-à-dire à tous les éléments sauf à ceux de type en-ligne et aux éléments des tables), et leurs valeurs doivent être positives [*].

Tout se gâte avec IE !

Internet Explorer ne reconnaît pas ces propriétés CSS (il faut dire qu’il a déjà du mal à bien faire avec width et height !) [**]. Mais avant de nous précipiter sur les bidouilles js et autres hacks, prenons le temps de considérer le comportement d’IE sur ce point. Car en réalité, IE interpréte la propriété height à peu près comme min-height. Il suffirait donc de régler la largeur pour IE d’abord, puis de surcharger pour les autres navigateurs, avec le hack html>body, comme ceci :

.bloc {
        height: 12em;
}
html>body .bloc {
        height: auto;
        min-height: 12em;
}

À lire pour en savoir plus :

[*] Pour en savoir plus sur ces propriétés, consultez la spécification CSS2 du W3C traduite par yoyodesign.org : « 10 Détails du modèle de mise en forme visuel ».

[**] Il semble qu’IE 7, dont la sortie est annoncée comme imminente depuis un an, supporte désormais ces propriétés. Cf. : Internet Explorer 7 enfin conforme aux standards du Web ? et IE7 et l’accessibilité encore un rendez-vous manqué. Mais cela ne nous épargne pas d’avoir encore à faire avec ses versions antérieures.

Un message, un commentaire ?

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d'abord sur gravatar.com (gratuit et indolore) et n'oubliez pas d'indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici
  • Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Suivre les commentaires : RSS 2.0 | Atom



© 2000-2010 Romy Duhem-Verdière | Certains droits réservés | Qui suis-je ? | Contact | Aide | Top ↑
Vérifiez vous-même la qualité du code de cette page en la soumettant aux validateurs XHTML et CSS.