2012-12-29 14 views
17

I Tablo 100% genişliğe sahip istiyoruz, ancak ondan bir sütun gibi serbest bir genişliğe sahip olmalıdır:Sadece içeriğine uygun bir masa hücresi küçültme genişliği nasıl yapılır?

| A | B | C                 | 

böylece, A ve B sütun genişliği içerikleri genişliğine uygun olmalıdır, ancak Tablo sonuna kadar C'nin genişliği devam etmelidir.

Tamam A ve B'nin genişliğini piksel cinsinden belirtebilirim, ancak sorun şu ki bu sütunların içeriğinin genişliği sabit değil, bu yüzden sabit bir genişlik ayarlı olsaydım, içerik mükemmel bir şekilde eşleşmez :(

Not: Gerçek tablo öğelerini kullanmıyorum, ancak bir div içine sarılmış bir DL listesi kullanıyorum. Div ekrana sahip: table, dl display: table-row ve dt/dd display: table-cell sana anlasalardı ...

+0

Tabularda sahip olduğunuz veriler doğası doludur. Eğer öyleyse, tablo kullanmaman için bir sebep yoktur. – Jawad

+0

fakat aynı tabloyu kullanırsam olur .. – thelolcat

+1

İlgili: http://stackoverflow.com/questions/4582631/are-shrink-to-fit-table-cells-possible –

cevap

24

, tablo halindeki verileri var ama div öğelerini kullanarak tarayıcıda sunmak istiyorum (ekranlı AFAIK tablo ve div'leri: tablo çoğunlukla aynı şekilde davranır)

.

(burada bir çalışma jsfiddle geçerli: http://jsfiddle.net/roimergarcia/CWKRA/)

işaretleme:

<div class='theTable'> 
    <div class='theRow'> 
     <div class='theCell' >first</div> 
     <div class='theCell' >test</div> 
     <div class='theCell bigCell'>this is long</div> 
    </div> 
    <div class='theRow'> 
     <div class='theCell'>2nd</div> 
     <div class='theCell'>more test</div> 
     <div class='theCell'>it is still long</div> 
    </div> 
</div>​ 

Ve CSS:

.theTable{ 
    display:table; 
    width:95%; /* or whatever width for your table*/ 
} 
.theRow{display:table-row} 
.theCell{ 
    display:table-cell; 
    padding: 0px 2px; /* just some padding, if needed*/ 
    white-space: pre; /* this will avoid line breaks*/ 
} 
.bigCell{ 
    width:100%; /* this will shrink other cells */ 
}​ 

üzücü kısmı bu bir yıllık yapamadı olduğu önce, gerçekten ihtiyacım olduğunda -_-!

+7

Lütfen tablo düzeninin eklendiğine dikkat edin. : sabit 'ana div bu css kırın. – Roimer

+2

'beyaz boşluk: nowrap daha iyi olabilir. Bir hücrede satır içi ul listeniz varsa, 'ön' seçeneği en azından gerçek bir tablo etiketinde yığılmasına neden olur. – cyberwombat

+0

Birden çok satıra bir hücre ayırmanız gerekiyorsa ne yaparsınız? Çözümünüzü buna nasıl uyguluyorsunuz? –