2012-05-22 14 views

cevap

231

Yaz:

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

Kontrol bu http://jsfiddle.net/EyNnk/1/

+0

Nasıl yapılacağı budur. ama lütfen semantiklerle ilgili cevabımdaki noktayı not edin. – Alex

+2

Yalnızca küçük bir bilgi: Çift kolonlu '' sonra', sözde öğelerin hedeflenmesi için önerilen yoldur. – Dennis98

+7

Çift sütunu destekleyen her tarayıcı (: :) CSS3 sözdizimi, yalnızca (:) sözdizimini destekler, ancak IE 8 yalnızca tekli virgüyü destekler, bu nedenle şimdilik en iyi tarayıcı desteği için tekli ikilinin kullanılması önerilir . :: Sözlü içeriği sahte seçicilerinden ayırt etmek için kullanılan daha yeni biçimdir. IE 8 desteğine ihtiyacınız yoksa, çift kolon kullanmakta özgürsünüz. https://css-tricks.com/almanac/selectors/a/after-and-before/ – retroriff

0

metin 'dasda' doğru bir etiketi içinde olmayacak asla? olmak, sadece açık sınıf eklemek olarak semantik ve geçerli HTML bunu olmaya:

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

+1

Bu hiç bir semantik değil. 1) Ebeveyn elemanını, eğer çocuğuna, eğer UL'ye arka plan vermek istiyorsanız, cevabına göre yüzdüyse, her zaman temizleriz. Çünkü, UL'nin açık olmadığı için LI'yı kapsamaz. 2) Bir sorum var Neden açık bir şekilde verirsin P.'den önce ayrı bir DIV'de sınıfP'ye sadece – sandeep

6

Hayır, böyle bir şey yapmak için yeterli değil:

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

Ve aşağıdaki 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

Kullanım

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

Roko tarafından sağlanan çözüm gibi. İçeriği kullanarak/değiştirmeye izin verir: sonra ve: psuedo'dan önce. Ayrıntılar http://www.quirksmode.org/css/content.html

3

kontrol için bu yanı çalışacaktır:

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

.clearfix:after { 
    clear: both; 
} 

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

örneğin ebeveyn elemana sizin ul eleman sınıfını clearfix ver.

Kaynaklar here ve here.

+0

ekranını da verirseniz: tablo ekstra boşluk ekleyebilir; Ekran kullanıyorum: yerine blok –

İlgili konular