一旦浏览器窗口变得太小而无法完全显示表格,我就希望HTML表格显示滚动条(水平和垂直)。
请参阅以下示例:JSFiddle示例
我怀疑主div是有故障的:
.myMain {
background-color: #e9edf1;
overflow: auto;
width: 100%;
top: 130px;
left: 20px;
bottom: 1px;
position: absolute;
}
示例代码的问题如下:如果窗口变得太小,则会出现水平滚动条,但只有在用鼠标调整浏览器窗口大小时,表的几个像素已经被剪切/不可见后,才会出现水平滚动栏。它显示在页面的底部,但我希望它直接显示在表的底部。垂直滚动条根本不会出现。我不想更改对用户可见的页面布局,所以这不是一个选项。
有几件事让我很失望,主要是推动div前进的绝对位置和左侧。因为你把它设置为绝对的,它会忽略其他元素,并以自己想要的方式做出反应。
此外,通过溢出禁用滚动:隐藏在html/body上会切断div的一部分,并将其绝对定位。
我做了一些更改,见下文。但请检查链接,让我知道现在是否已经实现了所需的行为。
https://jsfiddle.net/0ksb8s8x/1/
html, body {
font-family: Segoe UI, Tahoma, Arial;
font-size: 11px;
margin: 0;
padding: 0;
background-color: #e9edf1;
overflow:auto;
width:100%;
height:100%;
}
.myMain {
background-color: #e9edf1;
overflow: auto;
width: 105%;
padding: 20px;
top: 0px;
left: 0px;
bottom: 1px;
position: relative;
}
我终于找到了一个不完美但有效的解决方案:
我使用了Joe Corby的Fiddle,只更改了CSS中的以下部分:
.myMain {
background-color: #e9edf1;
overflow: auto;
padding-left: 30px;
padding-top: 20px;
position: absolute;
top: 120px;
bottom: 0px;
left: 0px;
right: 0px;
width: auto;
height: auto;
}
滚动条显示在浏览器窗口的底部和右侧(不是表的右侧),但至少它可以工作。