(ungetestet)
To fix up only IE5.x, use the following CSS commands:
div {
margin: 5em;
padding: 4em;
border: 1em solid green;
width/**/:/**/ 40em;
width: 30em
}
IE5.0 | IE5.5 | IE6 | IE7 | others |
|---|---|---|---|---|
30 | 40 | 30 | 30 | 30 |
To fix up all versions up to IE6, use these CSS commands:
div {
margin: 5em;
padding: 4em;
border: 1em solid green;
width: 40em
}
html>body div {
width: 30em
}
IE5.0 | IE5.5 | IE6 | IE7 | others |
|---|---|---|---|---|
40 | 40 | 30 | 30 | 30 |
just a fix for IE prior to IE7 (IE6! IE5.5? IE5.0?) (IE7 will ignore this)
html div {
width: 30em
}
* html div {
width: 40em
}
IE5.0 | IE5.5 | IE6 | IE7 | others |
|---|---|---|---|---|
40 | 40 | 40 | 30 | 30 |
Natürlich sind das unsaubere Lösungen, die mit dem Erscheinen eines neuen Browsers/Browserversion zu erheblichem Chaos führen können, weil man nicht sagen kann wie er was interpretiert.
Eine saubere Lösung besteht darin spezielle Anweisungen (CSS-Definitionen, oder CSS-Includes) einzubauen, die nur von der entsprechenden Version des IE gesehen werden und damit das entsprechende Fehlverhalten korrigieren. Dazu kann man Conditional Comments benutzen.