2010-04-13 28 views
6

2 sütunlu bir table ve her bir sütun 800 piksel genişliğindeyim. Bu tabloyu 800x50 pencerede göstermek istiyorum. Bu yüzden, tüm tabloyu görüntülemek için yatay ve dikey kaydırma çubuğu bulunmalıdır.Ekran boyutundan daha geniş, kaydırılabilir ve üstbilgi satırının sabit tutulduğu bir tablo nasıl oluşturulur?

SO üzerinde az sayıda ilgili çözüm buldum (this ve this), yalnızca tablo genişliği ekran boyutundan küçükse çalışırlar. Benim durumumda ekran boyutu 1200px ve toplam tablo genişliği 1600px.

Bunu nasıl yapabilirim? this gibi bir şey elde etmek istiyorum.

EDIT Hatalar, Bir ek gereksinim daha eklemeyi unuttum. Afedersiniz. Kullanıcı, tabloyu kaydırırken tablonun başlığının sabit kalmasını istiyorum.

EDIT2

Ben bir div sarmak için aşağıda belirtilen çözümleri denedim ama bu durumda dikey kaydırma çubuğu görünmüyor

. Lütfen sarıcı div ile this table'a bakın. Bu sorun, yalnızca tablo genişliği ekran boyutundan büyükse oluşur. FF3.6 üzerinde test yapıyorum.

EDIT3

akım table kodu. Dikey olarak kaydırma yapamama rağmen bu, dikey kaydırma çubuğu içermez.

<div style="overflow:scroll; width:800px;height:50px" > 
<table style="width:1600px" border="1"> 
    <thead> 
    <tr> 
     <th style="width:800px">id_1</th> 
     <th style="width:800px">id_1</th> 
    </tr> 
    </thead> 
    <tbody style=""> 
    <tr><td>1200</td><td>1200</td></tr> 
    <tr><td>1200</td><td>1200</td></tr> 
    <tr><td>1200</td><td>1200</td></tr> 
    <tr><td>1200</td><td>1200</td></tr> 
    <tr><td>1200</td><td>1200</td></tr> 
    <tr><td>1200</td><td>1200</td></tr> 
    </tbody> 
</table> 
</div> 
+0

Üzgünüm yapmak sabit kalmasını istiyorsanız, ancak 800x50 kullanılmaz boyuttur. Kaydırma çubukları yalnızca yaklaşık 30 piksel harcar, bu da size yaklaşık 30 piksel harcar. Bu sayede kullanıcılarınızın aynı anda görünen bir veya iki satırı kaydırmasını mı istiyorsunuz? 800x500 demek istemediğinden emin misin? – Robusto

+0

Bunlar sahte numaralar, sadece bu tabloyu çalışır hale getirmek istiyorum ve daha sonra boyutları buna göre değiştirmek istiyorum. – understack

cevap

5

Bir sabit boyut (800x50) ve overflow:scroll ayarlandığı bir div tablo sarabilirdiniz.

+0

@Vivin Paliath: Tablo uzunluğu ekran boyutundan büyük olduğunda dikey kaydırma görmüyorum. Lütfen şu konuya bakın: http://jsbin.com/uwubu3/3 – understack

+0

Açtığımda kaydırma çubuklarını iyi görüyorum. Pencere boyutu mu demek istiyorsun? Tablo pencere boyutundan büyükse, kaydırma çubuklarını görmek için tüm sayfayı kaydırmanız gerekir. Tablonuzu pencerenin boyutuna yeniden boyutlandırmak için oradan kurtulmanın bir yolu yoktur. –

+0

Kaydırma çubuklarını da göremiyorum ama sanırım bunun nedeni boyunuzun küçük olması. Yüksekliğinizi 100px'e ayarlamayı deneyin ve iyi çalışacaktır. –

1

genişliği < 800 ile bir div masanızı koyun ve overflow: scroll ayarlayın.

0

Çalışır mı bilmiyorum, ancak sayfa için max-width: 100% ayarlamayı denediniz mi?

0

Sadece masa elemanının css için overflow:scroll ekleyin. Btw. örneğiniz herhangi bir kaydırma göstermiyor.

+0

@Paul de Vrieze: örneği düzeltildi. Şimdi sadece yatay ama kaydırma gösteriyor. – understack

0

üstbilgi sadece bazı css

#header { 
    position:fixed; 
    left:0; 
    top:0; 
} 
İlgili konular