我有一个视图,其中包含一个应用了这种styleCLass的面板。
.scrollPanel {width:100%;身高:375像素; overflow:auto;}
该面板嵌套了扩展页面应用程序控件。
我想要面板的高度和宽度设置,以便显示面板的滚动条,并且不会激活浏览器滚动条。
这个CSS适用于宽度。我可以调整浏览器窗口的大小,并根据需要调整面板的宽度,浏览器水平滚动条永远不会出现。
但是,如果我尝试100%的高度,它不会起作用。如果我调整高度,则会显示浏览器的垂直滚动条。
也可以让面板的高度始终等于可用屏幕的高度。如果视图折叠,则100%,高度非常小。视图展开时,高度会扩展。我希望它总是与浏览器的可用高度相同的大小百分比。
P.S。我有375的设置大小完美无缺,但不会随浏览器调整大小。
有没有办法做到这一点?
答案 0 :(得分:0)
您需要注册一个window.onresize事件,该事件获取窗口的实际大小并相应地修改面板,例如用一种风格设置它的高度。
因此,最好的方法是创建一个方法,根据窗口大小修改面板的大小,并考虑最小值和最大值。完成该功能后,您只需将其注册到onresize事件,当事件发生任何更改视口显示尺寸(读取,实际调整大小或启用了窗口滚动条的内容)时会触发该事件。
在完美的世界中,您可以将此方法的执行去抖动/节流至最多每100毫秒,以避免在使用鼠标和窗口边框调整窗口大小期间过多的CPU负载,因为根据浏览器的不同,该事件会被触发在这样的调整大小期间鼠标移动的每个像素 - 这是相当经常的,可能会导致较慢的UI响应。