2010-09-15 23 views
7

DB'den dinamik olarak kayıtları gösteren bir tablom var. Sadece tablonun yüksekliğini düzeltmem gerekiyor, böylece tablo çok sayıda satır varsa, tablo içinde aşağı doğru bir kaydırma penceresi oluyor. Bu yüzden kullanıcı tüm sayfayı kaydırmaya gerek duymaz mı?html tablosu sabit yükseklik?

Bu mümkün mü? peşin

Teşekkür ...

cevap

13

Bunun bir çözümü sizinle stil özelliğini kullanmak <table>, çevredeki bir <div> -layer kullanmak olacaktır: Örnek olarak overflow: auto; max-height: (whatever height you want here)

:

<div id="mainHolder" style="overflow: auto; max-height: 400px;"> 
    <table> 
    ... Lots of data ... 
    </table> 
</div> 

Bu, yükseklikte büyüyebilen bir tablo oluşturur, ancak div katmanında kısıtlanacaktır ve içerik daha büyük büyüdüğünde otomatik olarak kaydırma çubukları alırsınız han 400px. Eğer olacak,

<script type="text/javascript"> 
window.onresize = doResize; 

function doResize() { 
    var h = (typeof window.innerHeight != 'undefined' ? window.innerHeight : document.documentElement.clientHeight) - 20; 
    $('#mainHolder').css('max-height', h); 
    $('#mainHolder').css('height', h); 
}; 

$(document).ready(function() { doResize(); }); 
</script> 
+0

İyi bir çözüm, ancak IE6 desteklemek gerekir eğer öyleyse, Explorer'ın eski sürümlerinde çalışmıyor max-height not:

jQuery ile aynı zamanda böyle bir şey yapabilir ek hack yapmak gerekir. – Spudley

+0

Internet Explorer 6 yakında piyasadan çıkacak. Aksi halde, gerçekten olmalı. Tabii, ben de çapraz tarayıcı şeyler hayranıyım, ama tarayıcılar standart-css aswell desteklemesini isterim. Ve IE6 böyle eski bir tarayıcıdır, dikkate alınmamalıdır. – NoLifeKing

+0

Kötü şanslar, müşterilerim IE6 ile çalışıyor ... bu yüzden ne yapacağım ... – soorajthomas

İlgili konular