IE6 min-width/max-width Hack von Cameron Moll
Um ein fluides Layout realisieren zu können, bei dem sich die Breite der Internetseite immer dem Browserfenster anpasst, dabei aber trotzdem eine minimale und maximale Breite angeben zu können, gibt es in CSS die Eigenschaften min-width und max-width.
Leider unterstützt der Internet Explorer diese CSS-Eigenschaften nicht.
Cameron Moll stellt auf seiner Website einen in seinem Buch CSS-Mastery beschriebenen Weg vor, dem Internet Explorer trotzdem ein ähnliches Verhalten beizubringen, und zwar mit Hilfe von JavaScript-Expressions.
Im CSS muss dafür folgendes notiert werden:
#container, #footer {
width: expression(document.body.clientWidth < 742 ? "740px"
: document.body.clientWidth > 1202 ? "1200px" : "auto");
}
Per JavaScript wird hier für die Ebenenen #container und #footer die Breite des Browserfensters abgefragt.
Ist es schmaler als 742px, so wird die Breite der Ebene auf 740px gesetzt und damit die min-width definiert.
Ist das Browserfenster breiter als 1202 px, wird die Breite der Ebene auf 1200px gesetzt und damit die max-width definiert.
Bei der Verwendung dieses Codes ist darauf zu achten, dass die abgefragte Breite nicht mit der später festzusetzenden maximalen bzw. minimalen Breite gleich sein darf.
Eine Angabe in der Form:
document.body.clientWidth < 740 ? "740px"
erzeugt einen Absturz des Internet Explorers, sobald man versucht, die Fenstergröße zu ändern.
Deshalb immer einen kleinen Unterschied zwischen den Vergleichszahlen lassen:
document.body.clientWidth < 745 ? "740px"
Auf dieser Seite von Cameron Moll kann man den eingebundenen Code in Aktion sehen »
Hier und hier findet sich die Diskussion der vorgestellten Lösung.
Verwandte Beiträge
- Inhalte zentrieren mit CSS
- CSS-»Faux Columns« bzw. »Unechte Spalten« auf deutsch
- CSS - Elemente absolut positionieren
- IE verdoppelt margin eines Floats in float-Richtung - was man dagegen tun kann
- IE6 min-width/max-width Hack von Cameron Moll
- YAML 2.4 - update
- Firefox CSS-Viewer: Blick hinter die Kulissen





Pingback: Min-width-Lösung für den Internet Explorer mit purem CSS - von Stu Nicholls » die Netzspielwiese:
[…] Wie schon im Artikel IE6 min-width/max-width Hack von Cameron Moll beschrieben, unterstützt der Internet Explorer die CSS-Eigenschaft min-width nicht, mit der man die minimale Breite eines Elementes angeben kann. […]
24. August 2006 um 21:28
Kommentar von Chris:
HI.. Klasse Lösung um ungeleich große Bilder auf die richtige Breite wie alle Bilder zu bekommen.
Vielen Dank. Klappt perfekt. !!! Werde es auch in meinem Blog nach hier verlinken. !!
Gruß
Chris
16. Mai 2007 um 14:40