2012-05-22 23 views

Odpowiedz

231

Napisz tak:

.wrapper:after { 
    content: ''; 
    display: block; 
    clear: both; 
} 

Sprawdź to http://jsfiddle.net/EyNnk/1/

+0

Oto jak to zrobić. ale proszę zwrócić uwagę na punkt w mojej odpowiedzi na temat semantyki. – Alex

+2

Tylko niewielkie informacje: '' after' z podwójnym dwukropkiem jest zalecanym sposobem kierowania na pseudoelementy. – Dennis98

+7

Każda przeglądarka obsługująca podwójną dwukropek (: :) Składnia CSS3 obsługuje również tylko składnię (:), ale IE 8 obsługuje tylko jeden dwukropek, więc na razie zalecane jest użycie dwukropka dla najlepszej obsługi przeglądarki . :: to nowszy format z wcięciem do odróżnienia pseudo treści od pseudo selektorów. Jeśli nie potrzebujesz obsługi IE 8, możesz użyć dwukrotnego dwukropka. https://css-tricks.com/almanac/selectors/a/after-and-before/ – retroriff

0

Tekst 'dasda' nigdy nie będzie w znaczniku, prawda? Semantycznie i ważność HTML to, aby być, wystarczy dodać jasną klasę, że:

http://jsfiddle.net/EyNnk/2/

+1

To w ogóle nie jest semantyka. 1) Zawsze usuwamy element nadrzędny, jeśli jego dziecko unosi się na nim, na przykład zgodnie z twoją odpowiedzią, jeśli chcę podać tło do UL, to nie obejmuje LI, ponieważ UL nie jest jasne i 2) Mam pytanie Dlaczego dajesz jasno Zajęcia w oddzielnym DIV przed P.jeśli podasz tylko P to jest to także wyświetlacz pracy – sandeep

6

Nie, nie wystarczy, aby zrobić coś takiego:

<ul class="clearfix"> 
    <li>one</li> 
    <li>two></li> 
</ul> 

I następujące CSS:

ul li {float: left;} 


.clearfix:after { 
    content: "."; 
    display: block; 
    clear: both; 
    visibility: hidden; 
    line-height: 0; 
    height: 0; 
} 

.clearfix { 
    display: inline-block; 
} 

html[xmlns] .clearfix { 
    display: block; 
} 

* html .clearfix { 
    height: 1%; 
} 
0

Zastosowanie

.wrapper:after { 
    content : '\n'; 
} 

Podobnie jak rozwiązanie dostarczane przez Roko. Umożliwia wstawianie/zmianę zawartości za pomocą: after i: before psuedo. Aby uzyskać szczegółowe sprawdzić http://www.quirksmode.org/css/content.html

3

to będzie działać jak dobrze:

.clearfix:before, 
.clearfix:after { 
    content: ""; 
    display: table; 
} 

.clearfix:after { 
    clear: both; 
} 

/* IE 6 & 7 */ 
.clearfix { 
    zoom: 1; 
} 

swoja klasę clearfix do elementu rodzic, na przykład kod elementu ul.

Źródła here i here.

+0

: tabela może dodać dodatkowe odstępy; Zamiast tego używam display: block –

Powiązane problemy