Javascript 在*布局之前*对窗口大小调整事件*作出反应
考虑一下下面用一个漂亮的彩色图表描述的“像素管道” 我有一个元素(比如跨度),我想在浏览器窗口调整大小时调整它的大小。我使用的是Javascript 在*布局之前*对窗口大小调整事件*作出反应,javascript,jquery,html,resize,scala.js,Javascript,Jquery,Html,Resize,Scala.js,考虑一下下面用一个漂亮的彩色图表描述的“像素管道” 我有一个元素(比如跨度),我想在浏览器窗口调整大小时调整它的大小。我使用的是窗口。onresize/窗口。addEventListener('resize' 这是可行的,我将其调整大小以适应可用空间。很好。但问题是,在我调整窗口大小后的一小会儿(突然调整大小,例如从全屏“恢复”到30%高度),一个滚动条显示。我相信它只会显示,因为在运行myonresizecode之前,管道经过布局、绘制和合成阶段一次,以对窗口大小的更改作出反应。尽管在该循环期
窗口。onresize
/窗口。addEventListener('resize'
这是可行的,我将其调整大小以适应可用空间。很好。但问题是,在我调整窗口大小后的一小会儿(突然调整大小,例如从全屏“恢复”到30%高度),一个滚动条显示。我相信它只会显示,因为在运行myonresize
code之前,管道经过布局、绘制和合成阶段一次,以对窗口大小的更改作出反应。尽管在该循环期间,除了窗口大小的更改外,没有其他任何东西可以更改,但这足以使滚动条出现r、 在下一个循环中,我缩小了跨度以适应窗口,滚动条消失了
对于一个跨度的人为示例,我确信我可以使用指定边距的样式或类似的样式来解决这个问题,但对于我更一般的问题,我确实希望使用JavaScript进行调整
谢谢。我敢肯定,通过在paret容器上定义css,您可以避免这些滚动条。这是一个猜测,但我认为这是html或正文
html, body {
height: 100%;
width: 100%;
padding: 0px;
margin: 0px;
overflow: hidden;
}
Wolfgang,你是对的-这避免了出现滚动条。我暂时不回答这个问题,希望在第一个布局阶段之前获得更新布局问题的答案。因为,即使有了这个css,组件本身对于窗口来说暂时太大,只会更新到正确的大小,这是一个浮华的分割你的回答是合理的,而且马上就可以用了,谢谢。