Hi,
da es um ein lokales Dokument geht, reicht es vollkommen, wenn es im Firefox funktioniert (wenn's in anderen Browsern zusätzlich funktioniert, ist's schön).
im HTML:
<ul id="test">
<li>dummy</li> <li>dummy</li> <li>dummy</li> <li>dummy</li>
<li>dummy</li> <li>dummy</li> <li>dummy</li> <li>last</li>
</ul>
(also eine ganz normale Liste mit ein paar Einträgen).
dazu folgendes CSS:
#test { margin:0; padding:0; border:3px solid red; }
#test li { list-style-type:none; float:left; width:10em; border:3px solid green; }
#test li:last-child:after { clear:left; float:none; }
Ich verpasse der ul also eine rote Border.
Die li kriegen eine Breite und eine border und floaten links.
Nach dem letzten li soll ein clear-endes Pseudo-Element kommen - da das m.E. innerhalb des ul liegt, sollte es dafür sorgen, daß das ul so groß wird, daß alle li-Elemente innerhalb des Rahmens sind (wegen des float wäre das ja normalerweise nicht der Fall).
Am Selektor kann es nicht liegen, füge ich z.B. noch ein content:"bla"; im letzten Ruleset hinzu, wird das angezeigt (direkt hinter "last").
Das "bla" müßte aber m.E. wegen clear:left unter den li stehen.
Ich finde keine Einschränkung bzgl. der Verwendung von clear für generated content ...
Klar, ich könnte der Liste auch als letztes Item ein
<li class="superfluousbreaker"></li>
mit
.superfluousbreaker { clear:left; float:none; border:none; width:0; height:0; overflow:hidden; }
verpassen, aber ich wollte eigentlich auf das überflüssige Element im Dokument verzichten.
Was übersehe ich?
cu,
Andreas
Warum nennt sich Andreas hier MudGuard?
Schreinerei Waechter
O o ostern ...
Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.