2013-08-29 33 views
5

Yan yana div'ler yerleştirmek istiyorum. Bu, dinamik olarak oluşturulduğu ve değiştirildiği için div sayısını bilmiyorum. Birçok çocuk div (ve onların genişlik ebeveyn büyüktür) durumunda kaydırma çubuğu olacak bir ebeveyn div sahip olmak istiyorum.Ebeveyn genişliğini bağımsız olarak birbirinin yanına yerleştirin

İşte jsFiddle example. Yani, temelde, bu üç sütunun birbirine, yan yana ve ebeveyn divunun altındaki kaydırma çubuğuna sahip olmak istiyorum.

HTML:

<div class="content"> 
    <div class="column">Column</div> 
    <div class="column">Column</div> 
    <div class="column">Column</div> 
</div> 

CSS:

content { 
    width: 100px; 
    background- color: #355E95; 
    overflow: visible; 
} 

.column { 
    width: 50px; 
    display: inline-block; 
} 

cevap

9

sizin üst div için white-space:nowrap ekleyin.

FIDDLE

+0

Bu doğru cevap olduğuna inanıyorum, sanırım 1 satırdan fazla ihtiyaç duyduğu düşüncesini okumaktan kaçıyorum –

+0

Çok teşekkürler, ihtiyacım olan buydu! – Ned

+0

Rica ederim :) – Danield

0

Fiddle: http://jsfiddle.net/bdssw/

kullanım float:left;

.column { 
    width: 50px; 
    display: inline-block; 
    float:left; 
} 
+0

evet deneyin, ama bu bana iki sütun, yanyana, Üçünü istiyorum verir ve görünür olmayan div'leri kaydırmak için kaydırma çubuğu. Mümkün mü? – Ned

+0

İçerik genişliğiniz 100 piksele ayarlandığından; eğer% 100 ise, herbirinin yanında div'ler yerleştirebiliriz. @nedeljko –

+0

Tamam, anlıyorum. Ama şu şey, o ana parçanın genişliğini sabitledim ve içinde div eklemeyi ve eklenen divların genişliğinin ebeveynin kendisinden daha büyük olması halinde kaydırma çubuğunu göstermek istiyorum. Bu mümkün mü? – Ned

-1

kullanım width:auto;

.content { 
    width: auto; 
    background-color: #355E95; 
    overflow:scrolling; 
    position:fixed; 
} 

.column { 
    width: 50px; 
    float:left; 
} 

http://jsfiddle.net/XqSJG/6/

+0

Geçerli bir katkı için neden aşağı oy? – SaturnsEye

1

Eğer tüm sütunların 3 sığacak şekilde sargının genişliğini ayarlayarak, kaydırma ve sonra sütunlar için bir sarıcı için bir içerik div kullanmak gerekir (Örneğinizde 150px).

Sütun yapısı, div'in sola kaymasıyla yapılır, ancak üst kapınızın genişliğine doğru kayar, bu durumda ana kapsayıcınız yalnızca 100 pikseldir, bu yüzden içlerine sığmaları için bir sarıcı eklememiz gerekir.

Ayrıca dikey kaydırma istiyorsanız, kabınıza bir yükseklik ayarlamanız gerekir.

Jsfiddle: http://jsfiddle.net/tYnH3/

css:

.content { 
    width: 100px; 
    background-color: #355E95; 
    overflow: auto; 
} 

.content-wrapper { 
    width: 150px; 
} 

.column { 
    width: 50px; 
    float: left; 
} 

html:

<div class="content"> 
    <div class="content-wrapper"> 
     <div class="column"> 
      Column   
     </div> 
     <div class="column"> 
      Column   
     </div> 
     <div class="column"> 
      Column   
     </div> 
     <div class="column"> 
      Column   
     </div> 
     <div class="column"> 
      Column   
     </div> 
     <div class="column"> 
      Column   
     </div> 
    </div> 
</div> 
+0

Düzenleme: dikey kaydırmayı kaldırmak için taşma otomatik yapılır. –

+0

Anlıyorum, ama sorun şu ki kaç tane sütun alacağımı bilmiyorum. Yani bazen, bazen 10, bazen 10 olabilir ve gördüğüm gibi, içerik-sarmalayıcının genişliğine bağlı olarak değişmem gerekiyor. Dinamik bir çözüm var mı? % 100 çalıştım ama işe yaramıyor. – Ned

+0

% 100 üst genişliğe ayarlayacaktır, eğer 3 sütuna ihtiyacınız varsa o zaman bu çalışacaktır, eğer 4 sütun genişliği değiştirirseniz, içerideki öğe miktarı ayarlanacaktır. Sütunlar sayfa başına değişiyorsa, bir şeyi değiştirmeden kaç sütun istediğinizi nasıl bilebilir? Belki onu bir sınıfla ayırabiliriz veya istediğiniz sayfadaki "içerik-sarmalayıcı" nın genişliğini –

0

aşağıdaki JS keman

http://jsfiddle.net/jT6SW/1/

#wrapper 
{ 
float: left; 
height: 150px; 
width: 250px; 
margin: auto; 
border: 1px black solid; 
overflow-y: hidden; 
overflow-x: scroll; 
} 
İlgili konular