28173 sujets

CSS et mise en forme, CSS3

Bonjour,

J'ai trouvé sur le web une solution pour avoir un min-width sous IE via width:expression(document.body.clientWidth mais lorsque je réduis ma page au dela de la limite fixée sous IE, il plante ! Comment faire ? Ai-je fait une erreur ?

Merci de votre aide.

J'ai placé ça dans mon container principal (la div placé juste après le body) :
#container { margin:0 auto; width:100%; min-width:780px; width:expression(document.body.clientWidth < 780 ? "780px" : "auto" ); }
Salut

Avoir un "min-height" sous IE n'est pas vraiment compliqué, il suffit d'utiliser "height", qu'IE interprète comme un "min-height".

Pour garder "min-height" pour les navigateurs plus récents et utiliser "height" pour IE, voir les sujets concernant les commentaires conditionnels.

Du javascript dans du code CSS, quelle hérésie Smiley langue
Administrateur
Sopo a écrit :
Salut

Avoir un "min-height" sous IE n'est pas vraiment compliqué, il suffit d'utiliser "height", qu'IE interprète comme un "min-height".

Moui mais le soucis, c'est que tous les autres interprêtent correctement height, et fixent la hauteur. Donc si le contenu est plus haut, il "dépassera" du conteneur au-lieu de "pousser" le conteneur comme le fait IE.

EDIT : en fait la question ne porte pas sur min-height mais min-width, qui est un tantinet moins simple à résoudre.
Modifié par Raphael (29 Jun 2006 - 12:19)
Raphaël a écrit :
EDIT : en fait la question ne porte pas sur min-height mais min-width, qui est un tantinet moins simple à résoudre.


Oooups, au temps pour moi !

Effectivement, c'est nettement plus ennuyeux, ça ...

Aurais-tu un exemple de la mise en page voulue en ligne ?
Bonjour,

Avec IE 6 en mode standard (avec Doctype, sans prologue etc...) il faudrait utiliser
 document.documentElement.clientWidth


Sauf que IE5 ne connait pas le mode standard. Il faut alors recourir à quelque chose comme ça :
width: expression((document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth) < 780 ? "780px": "auto" );


Note que je ne suis pas du tout sûr de la syntaxe mais qu'en tout cas ça fonctionne aussi bien sur IE 5/6/7
Modifié par Alan (29 Jun 2006 - 13:01)
Super, ça fonctionne parfaitement. Je pense qu'il serait bon t'intégrer le message d'Alan dans la FAQ.

Merci bcp !
Bonjour,
un truc me taraude : comment peut-on mettre du JavaScript dans un css? C'est une énième fantaisie d'IE, ou même les vrais navigateurs le peuvent?