2013-08-30 63 views
0

我在CSS中做了以下问题(我想在页面准备时避免额外的javascript): 我有一个100行的表,它的大小比窗口大。 我想让table height = winodw height,这样我就可以在桌子上插入一个滚动条了。原因在于我不得不在桌子周围(上下)“浏览”div,以便在滚动时可以看到它们。如果我将容器的高度设置为精确像素,它会很好,但使用%,只会在页面上产生带有滚动的表格。有没有可能在没有JavaScript的CSS中做到这一点?CSS桌面高度

所以我目前的CSS的表:

#mainTable{ 
    width: 100%; 
    height: 100%; 
    overflow: auto; 
    display: block; 
} 

的事情是,这并不产生相同的结果,如果我做height=800px,因为窗口是800像素,因为与%你就得到一个滚动页面和px你在桌子上滚动。

+1

是的,但我们需要看到你的代码,在jsfiddle – Cherniv

+0

问题是巨大的...因为我使用了几个额外的库和其他ppls css。我仍然会张贴更多的代码来说明问题。 –

+0

你尝试溢出:滚动而不是自动.. – Sasidharan

回答

0
var parameter_one = "http: //one.css"; //your css for table 
var parameter_two = "http: //two.css" //your css w/o table 

if (window.height < somevalue) { 
    load_me(parameter_one) 
} else { 
    load_me(parameter_two) 
} 

function load_me(file) { 
    var head = document.getElementsByTagName('head')[0]; 
    var link = document.createElement('link'); 
    link.rel = 'stylesheet'; 
    link.type = 'text/css'; 
    link.href = file; 
    link.media = 'all'; 
    head.appendChild(link); 
} 
+0

为什么不用@media代替(在CSS中)? – Cooleronie

+0

是的,我们也可以使用它.. –

0

我不会做width: 100%;因为它有时去了页面长度,你可以试试90%,80%,甚至70%,或一个确切的宽度,或者你可以尝试给它像, margin: 20px;高度,我只是做一个确切的高度,如height: 200px;这可能不是你想要的宽度,但你知道我的意思。

OR

你可以做的JavaScript像上次人说。如果CSS不能解决问题,我会推荐这样做。有一些CSS不能做到。 :/

+0

是啊,谢谢,我会猜测就在准备好()我会调用javascript来动态设置高度。你知道使用什么函数然后调整窗口大小,保持相同的效果? –

+0

@Belov你应该使用'>我可以找到调整表的唯一其他东西就是可以查看这个js ** Demo的列:** http://bz.var .ru/comp/web/resizable.html ** JS:** http://bz.var.ru/comp/web/resizable-tables.js – internetgho5t