我需要获取浏览器窗口大小,并在javascript中将窗口大小设置为div大小。
如果窗口大小为568px,我有2个div元素,div1想要38%,div2是62%。 在每个尺寸中,两个div都希望保持相同的百分比大小。
答案 0 :(得分:7)
您可以使用:
var width = window.innerWidth;
var height = window.innerHeight;
<强>更新强>:
要设置屏幕等于或小于568px时两个div元素的宽度,您可以这样做:
if(width <= 568) {
document.getElementById('div_1').style.width = '38%';
document.getElementById('div_2').style.width = '62%';
}
或者使用我认为推荐的基于CSS的解决方案,在这种情况下更简单,利用media queries
:
.container{
width: 100%;
}
.div_element {
height: 100px;
width: 100%;
}
#div_1 {
width: 38%;
background: #adadad;
}
#div_2 {
width: 62%;
background: #F00;
}
@media(max-width: 568px) {
#div_1 {
width: 38%;
}
#div_2 {
width: 62%;
}
.div_element {
float: left;
}
}
&#13;
<div class='container'>
<div id='div_1' class='div_element'>
div 1
</div>
<div id='div_2' class='div_element'>
div 2
</div>
</div>
&#13;
答案 1 :(得分:3)
使用以下代码获取浏览器窗口的高度和宽度:
var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
var height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
答案 2 :(得分:0)
为什么当CSS本身可以这样做时,你需要JS来做这个?这段代码将在每个屏幕尺寸上保持div大小
body {
margin: 0px;
height: 100vh;
}
#div1 {
width: 38%;
height: 100%;
float: left;
background: red;
}
#div2 {
width: 62%;
height: 100%;
float: left;
background: yellow;
}
#divMain {
clear: both;
height:100%;
}
#divMain:after,
#divMain:before {
display: table;
content: '';
}
#divMain:after {
clear: both;
}
&#13;
<div id="divMain">
<div id="div1">
</div>
<div id="div2"></div>
</div>
&#13;