2014-07-03 21 views
13

Bu listeyi HTML'de aldım ve sütunlar halinde sipariş vermek istiyorum. Bunun beni veriyor şamandıralar kullanılmadan çalıştı bu:CSS'de nasıl yüzer?

DÜZENLEME: Bu <li> ait Yükseklik tanımsız ama yapısını değiştirmek ve sırasını değiştirmek olmadan F altında E ve G aşağıda B altında C, E istiyoruz. Pozisyon mutlakını kullanmak istemiyorum. Başka çözümler olup olmadığını merak ediyorum.

HTML:

<ul> 
    <li class="item">A</li> 
    <li class="item">B</li> 
    <li class="item">C</li> 
    <li class="item">D</li> 
    <li class="item">E</li> 
    <li class="item">F</li> 
    <li class="item">G</li> 
<ul> 

ÇIKIŞ (float: left; width: 240px; border-left: 1px solid #EEE kullanarak): Ben daha aşağıda böyledir istiyorum ne

enter image description here

, HTML çünkü değiştirmeden Ben zaten bu st duyarlılık yapmak.

enter image description here

mümkün mü?

+0

Kutuların genişliğini ve/veya yüksekliklerini biliyor musunuz? – panther

+4

Açıkçası (en azından benim için) kuralın ne olduğu - neden B örneğin A'nın altında değil? Akışın nasıl akması gerektiğini tarif edebilir misiniz? – CupawnTae

+1

"float: right" hakkında ne dersiniz? "li" sırasını değiştirmek zorunda kalacaksınız ama yapı değil (bu gibi (http://jsfiddle.net/68pKt/1/)). Yine de aşağıdaki yorumu kabul ediyorum. – Harry

cevap

25

İlk LI etiketi olan like this numaralı belgede CSS sütununu ve kenar boşluğunu kullanabilirsiniz.

ul { 
    column-count:4; 
    padding:0; 
    column-rule: solid lightgray 1px; 
} 

li { 
    display:inline-block; 
    width:100%; 
} 

li:before {/* demo purpose to set an height to lis */ 
    content:''; 
    float:left; 
    padding-top:50%; 
} 

li:first-of-type { 
    margin-bottom:50%; 
} 

JavaScript ön ekleyicisine veya satıcı öneki eklemeye manüel olarak gereksinim duyabilirsiniz.

+0

Sadece bir tane daha "H" düğümü ekliyorum. Sonuçlar iyi değil. –

+5

+1. Parlak :) – Harry

+0

Vay! Çılgın ! Tam olarak ne istediğimi. IE8 için bir çözüm var mı? – Steffi

İlgili konular