2013-10-28 64 views
42

我使用Bootstrap 3,在顶部有一个导航栏和一个显示使用Bootstrap 3的表类格式化的表的页面。我希望表(它坐在它自己的div中)是可滚动页面的唯一部分(当表中数据的宽度/高度超过页面的宽度/高度时)。我有风格的股利为表如下:Bootstrap 3可滚动div表

.mygrid-wrapper-div { 
    overflow: scroll; 
    height: 200px; 
} 

我说明这是一个小提琴,和我说周围的DIV丑陋5px的红色边框突出,我想有滚动区域:

是向左滚动向右

http://jsfiddle.net/4NB2N/4/

通知的伟大工程 - 我没有做任何事情来得到这个工作,而当调整过窗口的DIV自动调整滚动条。然而,我不知道如何设置div的高度来表现相同的方式 - 我硬编码的200px值,但我真的希望div来填补窗口的“休息”,以便在浏览器调整大小时仍然有效。

我怎样才能使水平和垂直的行为相同?

+0

你用maxheight试过了吗? – dbrin

回答

23

那么一种方法是将你身体的高度设置为height,你希望你的page是。在这个例子中,我做了600px

然后将您的wrapper高度设置为我在此处的身体比例70%这将调整您的表格,使其不会占满整个屏幕,而是占据指定页面高度的百分比。

body { 
    padding-top: 70px; 
    border:1px solid black; 
    height:600px; 
} 

.mygrid-wrapper-div { 
    border: solid red 5px; 
    overflow: scroll; 
    height: 70%; 
} 

http://jsfiddle.net/4NB2N/7/

更新怎么样一个jQuery的方法。

$(function() { 
    var window_height = $(window).height(), 
    content_height = window_height - 200; 
    $('.mygrid-wrapper-div').height(content_height); 
}); 

$(window).resize(function() { 
    var window_height = $(window).height(), 
    content_height = window_height - 200; 
    $('.mygrid-wrapper-div').height(content_height); 
}); 

http://jsfiddle.net/4NB2N/11/

+0

但我不知道身体/页面的高度,用户可以调整浏览器窗口的大小来选择任意宽度/高度。我真的只希望占用页面的“休息”。 –

+0

@DavidMcClelland我用jQuery方法更新了我的答案。 – Trevor

+0

谢谢你的帮助!但是,有没有办法做到这一点,而不知道高度的200px值?我使用它作为硬编码的值来显示我想实现的目标,但是我想要一个更广义的解决方案,告诉DIV占用可视窗口区域的“其余部分”?随着用户调整大小(或使用具有不同分辨率的设备),窗口将改变高度/宽度。 –