Hallo,
div.test{
width:expression(document.body.clientWidth > 500? "500px": "auto" );
}Hat das schon mal jemand außerhalb vom Quirksmode des IE versucht? Sobald ich irgendeinen Doctype angebe, funktioniert das nicht mehr. Es wird dann wie width:500px interpretiert, also nichts mehr mit auto ;-)). Wenn ich es als min-width-Ersatz verwende, also:
div.test{
width:expression(document.body.clientWidth < 500? "500px": "auto" );
}stürzt der IE 6 reproduzierbar ab, sobald das Fenster schmaler als 500px wird. (WinNT 4.0 WkSt, SP6a)
Für alle, die es interessiert:
Es funktionieren beide Varianten, solange die Start-clientWidth etwas größer als die gewünschte max- bzw. min-width ist. Bsp.:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Max- und Min-Width für IE</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<style type="text/css">
<!--
div.minWidth300 {min-width:300px; width:expression(document.body.clientWidth<305?"300px":"auto"); border:1px solid black;}
div.maxWidth300 {max-width:300px; width:expression(document.body.clientWidth>305?"300px":"auto"); border:1px solid black;}
-->
</style>
</head>
<body>
<div class="minWidth300">
<h1>Test</h1>
<p>Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test.</p>
</div>
<hr>
<div class="maxWidth300">
<h1>Test</h1>
<p>Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test.</p>
</div>
</body>
</html>
Sobald aber
div.minWidth300 {min-width:300px; width:expression(document.body.clientWidth<302?"300px":"auto"); border:1px solid black;}
div.maxWidth300 {max-width:300px; width:expression(document.body.clientWidth>302?"300px":"auto"); border:1px solid black;}
notiert wird, treten die oben beschriebenen Fehler, inklusive IE-Absturz auf, e sei denn der IE befindet sich im Quirksmode.
viele Grüße
Axel