javascript基于窗口高度设置左绝对位置
我想根据window.innerHeight移动绝对位置div。例如,如果win高度为700px,则div的样式为left:100px,如果win高度为600px,则样式为left:78px 请告诉我怎么计算。我试图使用回归线性公式,但老实说,我感到困惑javascript基于窗口高度设置左绝对位置,javascript,html,css,Javascript,Html,Css,我想根据window.innerHeight移动绝对位置div。例如,如果win高度为700px,则div的样式为left:100px,如果win高度为600px,则样式为left:78px 请告诉我怎么计算。我试图使用回归线性公式,但老实说,我感到困惑 PS:我不想使用CSS媒体查询,它确实需要根据窗口高度做出响应。我知道您要求的是JS解决方案,但是。。 您是否尝试过通过定义响应/条件样式类 @media screen( height: 700px ){ /* min-height, max-
PS:我不想使用CSS媒体查询,它确实需要根据窗口高度做出响应。我知道您要求的是JS解决方案,但是。。 您是否尝试过通过定义响应/条件样式类
@media screen( height: 700px ){ /* min-height, max-height, etc */
div{
left: 100px;
}
}
@media screen( height: 600px ){ /* min-height, max-height, etc */
div{
left: 78px;
}
}
在JS中,您可以使用:
var divs = document.querySelector('div');
var left = (window.innerHeight == 700) ? 100 : 78 ;
for(var div in divs){
div.style.left = left + 'px';
}
你也可以使用数学:
var refLeft = 100, refHeight = 700;
var newHeight = window.innerHeight();
var left = newHeight * refLeft / refHeight;
然后:
var divs = document.querySelector('div');
for(var div in divs){
div.style.left = left + 'px';
}
您可以使用vh单位而不是像素,也可以使用calc功能
在本例中,请查看战利品及其工作原理:
html,正文{
身高:100%;
}
.我的身高{
宽度:100px;
身高:100%-20%;
位置:相对位置;
显示:内联块;
背景色:青色;
颜色:000;
}
.我的身高{
宽度:100px;
高度:40vh;
位置:相对位置;
显示:内联块;
背景颜色:绿色;
颜色:fff;
}
这将使用总高度的80%和“计算”
这将使用40%的视口高度和“vh”
到目前为止你试过什么?你的代码在哪里?老实说,我不知道使用线性回归。因此,还没有代码完成:您是否尝试使用“vh”视口高度而不是“px”?这是基本的数学?y=m*x+b是a。你得了两分:700 | 100分和600 | 78分,你能解决它。是的,基础数学。我需要学更多的数学。无论如何,使用vh似乎解决了问题@乔迪弗洛雷斯,请把它作为答案,这样我就可以接受了。谢谢你,但正如我所说的,我不想使用CSS媒体查询。还有窗户。内部高度不只是在700到800之间。不,我没有-1你,我为什么要?vh单位解决了我的问题,我和你没有问题。哈哈。。对不起。是别人干的。