CSS: Aufzählungszeichen und Bild mit float:left
Die Darstellung von Aufzählungszeichen neben einem Bild mit der CSS-Eigenschaft float:left stellt sich als grosse Herausforderung dar. Sowohl im Firefox wie auch im IE verschwindet das Aufzählungszeichen hinter dem Bild.
Beispiel: Falsche Darstellung der Aufzählungszeichen
Ziel: Gewünsche Darstellungsart

Damit diese Darstellung auch im Internet Explorer 6/7/8 erreicht werden kann, müssen folgende CSS Regeln und Tricks angewendet werden:
CSS Regeln:
ul{
list-style-position:inside;
}
ul li {
list-style-image:url(../images/more-link.gif);
float: none;
margin-left: 5px;
}
Die Regel list-style-position: inside bewirkt, dass die Aufzählunsgzeichen korrekt angezeigt werden. Jedoch sieht das Resultat im Internet Explorer wie folgt aus:

Dieser Darstellungsfehler entsteht, weil der Internet Explorer das definierte list-style-image immer unten rechts ausrichtet. Um dies zu verdeutlichen habe ich das Aufzählungszeichen vergrössert.
Damit die Darstellung korrekt wird, muss oben und rechts vom Aufzählungszeichen das Bild vergrössert werden.
Im Internet Explorer list-style-image ausrichten / positionieren:
Dies ist das originale Bild für das Aufzählungszeichen (vergrössert)
Dies ist das modifizierte Bild. Damit wird eine korrekte Darstellung im IE erreicht.


Oder
position: relative; left: 20px;
dafür margin-left auf 0 oderso. Hat meine Wünsche vollst erfüllt, eben auch mit list-style-position:outside; :D
Cheers,
Ralf
list-style-position outside float
Also nochmal genau:
/* Liste: list-style-position bleibt auf default(outside), vorhandene Einrückung entfernen (padding 0 ist wichtig!) */
.content ul, .content ol {padding:0;}
/* Einträge: Eintrag dahin schieben, wo er hinsoll */
.content li {position:relative; left:1.2em;}
Weitere sinvolle Einstellungen wären m.E. margin:.5em 0; für die Listen und margin: 0 0 .25em 0; für die Einträge, aber das ist Geschmackssache.
Kommentar hinzufügen