Jeena Paradies: min- max-width IE <=6 mit expression()

Hallo,

Ich möchte min-width und max-width bei einer Seite anwenden. Da der IE <= 6 das nicht kennt dachte ich an so etwas:

* html #foo {  
width: [code lang=javascript]expression( ( document.body.clientWidth > 1260 ) ? "1260px" : ( ( document.body.clientWidth < 900 ) ? "900px" : "auto" ) )
~~~;  
}[/code]  
  
Doch leider hängt mir sich der IE <= 6 auf sobald in beim verkleinern des Fensters die 900px erreiche und ich muss ihn gewaltsam töten. Habe ich da irgendwie ein Logikproblem oder ist es ein IE Problem? Und vor allem wie könnte ich das lösen? Oder gibt es gar noch bessere möglichkeiten (ohne das HTML anzufassen)?  
  
   Jeena  
![](http://jeenaparadies.net/pavatar.png)

-- 
[Was ist XHTML 5?](http://jeenaparadies.net/weblog/2007/feb/was-ist-xhtml-5)  | [Jlog](http://jeenaparadies.net/webdesign/jlog/) | [Gourmetica Mentiri](http://jeenaparadies.net/gourmetica-mentiri/)
  1. Yerf!

    • html #foo {

    width: [code lang=javascript]expression( ( document.body.clientWidth > 1260 ) ? "1260px" : ( ( document.body.clientWidth < 900 ) ? "900px" : "auto" ) )

    
    > }[/code]  
    >   
    > Doch leider hängt mir sich der IE <= 6 auf sobald in beim verkleinern des Fensters die 900px erreiche und ich muss ihn gewaltsam töten. Habe ich da irgendwie ein Logikproblem oder ist es ein IE Problem? Und vor allem wie könnte ich das lösen? Oder gibt es gar noch bessere möglichkeiten (ohne das HTML anzufassen)?  
      
    Das Problem ist die Abfrage auf die 900px. Wenn die Breite gößer oder gleich 900 ist wird auf Auto gesetzt, wenn Sie kleiner ist wird auf 900 gesetzt. Jetzt ist sie aber nicht mehr kleiner 900, also wird auf Auto gestezt...  
      
    Eine Abfrage auf <= 900 sollte helfen.  
      
      
    Gruß,  
      
    Harlequin  
    
    
    1. Hallo,

      Das Problem ist die Abfrage auf die 900px. Wenn die Breite gößer oder gleich 900 ist wird auf Auto gesetzt, wenn Sie kleiner ist wird auf 900 gesetzt. Jetzt ist sie aber nicht mehr kleiner 900, also wird auf Auto gestezt...
      Eine Abfrage auf <= 900 sollte helfen.

      Na so ganz kann ich dir nicht zustimmen. Wenn es genau 900 ist dann wird ja immer noch auf auto gesetzt, also auf 900, das passt ja auch.

      Auch wenn ich das ändere hängt sich der IE auf.

      Was aber geholfen hat ist so etwas:

      * html #foo {  
       width: 950px;  
       width: [code lang=javascript]expression(  
        (document.documentElement && document.documentElement.clientHeight) ?  
         (document.documentElement.clientWidth < 900) ? "900px" : (( document.documentElement.clientWidth > 1261 ) ? "1261px" : "auto") :  
         (document.body.clientWidth < 900) ? "900px" : (( document.body.clientWidth > 1260 ) ? "1261px" : "auto")  
       );
      

      }[/code]

      Der IE 6 im strict-mode möchte nämlich document.documentElement.clientWidth.

      Jeena

      1. Yerf!

        Eine Abfrage auf <= 900 sollte helfen.
        Na so ganz kann ich dir nicht zustimmen. Wenn es genau 900 ist dann wird ja immer noch auf auto gesetzt, also auf 900, das passt ja auch.

        Aber nur bei genau 900, wenn der ursprüngliche Wert größer war, bewirkt auto eben diesen größeren Wert und damit entsteht eine Endlosschleife.

        Auch wenn ich das ändere hängt sich der IE auf.

        Allerdings muss ich gestehen, dass ich mich damit bisher nur theoretisch beschäftigt habe, weil ich auf meiner Suche nach Informationen über Expressions drüber gestolpert bin. Ich selber hab sie bisher nur für einen Ersatz für absolute Positionierung mittels zweier Eckpunkte benutzt (der IE kann ja ohne Expression keine Höhe oder Breite dafür berechnen).

        Der IE 6 im strict-mode möchte nämlich document.documentElement.clientWidth.

        ...immer diese Extrawürste des IE :-(

        Gruß,

        Harlequin

        1. Hi,

          ...immer diese Extrawürste des IE :-(

          Extrawürste für die Extrawüste. Das passt doch!

          Cheatah ;-)

          --
          X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
          X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes