PRATIQUE CLIENTS WEB 
CSS : Emuler max-width avec Internet Explorer
 
L'utilisation d'une extension propriétaire du langage CSS permet au navigateur de Microsoft de se conformer aux attentes du designer. (27/04/2005)
  Forum

Réagissez dans les forums de JDN Développeurs

La propriété CSS max-width sert à spécifier la largeur maximale que peut prendre un élément. En pratique, cela autorise la création d'éléments qui prennent la taille idéale pour ce qu'ils contiennent, sans pouvoir dépasser une certaine valeur.

Le navigateur de Microsoft ne permet cependant pas de faire appel à cette propriété. Pour passer outre cette limitation, il est possible d'utiliser une extension de CSS, invalide car propriétaire (limitée à IE) : expression. Cette extension permet de lancer des appels JavaScript au sein même de la feuille CSS. Cela n'est guère recommandé à cause du manque de portabilité de cette technique, mais dans des circonstances où seul IE est visé, cela peut se justifier - à condition de placer expression dans une CSS à part, accessible uniquement par IE :

<!--[if IE]>
  <link rel="stylesheet" type="text/css" href="ie.css" />
<![endif]-->


L'expression permettant de contourner l'absence de max-width serait alors :

#element {
  width:expression(document.body.clientWidth > 450 ? "450px" : "auto");
  }


qui donne un équivalent de

#element {
  max-width: 450px;
  }


 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page