2010-04-27 14 views
8

Böyle bir css tablo kurulum var çok geniş tablo ilk sütun:css ekran:

<div class='table'> 
<div> 
    <span>name</span> 
    <span>details</span> 
</div> 
</div> 

tablo için css geçerli:

.table{ 
display:table; 
width:100%; 
} 
.table div{ 
text-align:right; 
display:table-row; 
border-collapse: separate; 
border-spacing: 0px; 
} 
.table div span:first-child { 
text-align:right; 
} 
.table div span { 
vertical-align:top; 
text-align:left; 
display:table-cell; 
padding:2px 10px; 
} 

iki sütun eşit bir şekilde bölünür haliyle masanın genişliği tarafından işgal edilen boşluk arasında. İlk sütunu yalnızca metinleri kapladığı metnin gerektirdiği kadar geniş olacak şekilde almaya çalışıyorum

Tablo, sütunlar/hücreler gibi bilinmeyen bir genişliktir.

+1

'border-collapse' ve' border-spacing' sadece tablo satırlarının tablolar için geçerlidir. Onları ".table" kuralına taşımalısınız. Not: Aslında bir masa kullanmıyor olmanın özel bir sebebi var mı? – RoToRa

+0

Bir html tablosu kullanılmıyor çünkü kod tüm site üzerinde mevcut ve bazı ajax'ler aracılığıyla üretiliyor. Basit tuttum çünkü ajax ve php konuyla ilgisiz. – Mestore

+0

Ama kesinlikle yuvalanmış div ve açıklıklar oluşturmak trs ve tds ile bir tablo oluşturmak için farklı değil mi? Bu nasıl (ve bu CSS tablo sorunları ile uğraşmak) AJAX üzerinden bir tablo çıkartan daha kolay? – Simon

cevap

10

Sadece 1px gibi küçük bir genişlik verin. Tablo hücreleri, içeriğine uyacak şekilde her zaman mümkün olan en küçük boyuta genişler.

+0

Bu zaten denenmiş, genişliği sadece en geniş kelime kadar geniş yapar. Hücrenin 3-5 kelimesi varsa, tarayıcı olabildiğince dar tutmak için olabildiğince fazla sarılır. – Mestore

+1

whitespace = "nowrap" ifadesini eklemeyi deneyin. –

+3

Daha sonra, sarmayı durdurmak için 'white space: nowrap' eklemeniz gerekir. – RoToRa

-1

Sınıf isminizi "tablo" olarak değiştirmelisiniz. "tablo", div'den bazı tabloların sınıfı olduğunu öne sürer.

deneyin

<div class='table'> 
<div> 
    <span style="width:30%">name</span> 
    <span>details</span> 
</div> 
</div> 
2

Sen tablo içinde ilk div bulmak ve ona olan ayrı vermek için ilk çocuk seçici kullanabilirsiniz aşağıdaki.

.table div:first-child 
{ 
    width:30%; 
} 
1

Bunu satırda çeşitleri varsa o metnin boyutunu olmaya alabilirsiniz bilmiyorum ama bir width = "auto" ya da sütunlar için bir yüzde genişliğini ayarlayarak deneyebilirsiniz.

11

deneyin ->table-layout: fixed

+0

Siz efsane. Bu, konteynırlardan çıkan hücrelerle yaşadığım sorunu çözdü. –

+0

Bir hayat kurtarıcı! Teşekkürler! –

+0

Bunu nereye koyuyorsunuz? – evolutionxbox