Gunnar Bittersmann: Lösung? (IE cleart falsch)

Beitrag lesen

@@Harlequin:

Ok, ich hab glaub ich die Lösung gefunden. Damit das im IE "richtig" geht muss den LIs erst ein display:inline-block zugewiesen werden, das später durch eine weitere CSS-Regel mit diplay-inline überschrieben wird (wtf?).

Cooooooool. Vielen Dank. Wie kommt man nur auf solchen Unsinn, der dann auch noch funktioniert?

In meinem 6er ist das allerdings nicht nötig; der begnügt sich mit der einmaligen Deklaration 'li {display: inline}'.

7er reagiert nicht auf den Selektor '* html li', aber auf '*+html li'.

BTW, die zweimalige Deklaration in einer Regel '*+html li {display: inline-block; display: inline}' funktioniert nicht; es müssen getrennte Regeln '*+html li {display: inline-block} *+html li {display: inline}' sein.

Mein ergänztes Stylesheet sieht nun so aus (anstelle der bisherigen Regel für 'li'):

li  
{  
 color: white;  
 width: 42px;  
 height: 42px;  
 float: left;  
 margin: 4px;  
 display: inline-block; /* IE 7 */  
}  
  
* html li /* IE 6 */  
{  
 display: inline;  
 float: none;  
 vertical-align: top;  
}  
  
*+html li /* IE 7 */  
{  
 display: inline;  
 float: none;  
 vertical-align: top;  
}

Live long and prosper,
Gunnar

--
Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.