gpt4 book ai didi

javascript - 调整窗口大小时自动将图像适合 div 容器

转载 作者:行者123 更新时间:2023-11-28 02:58:02 25 4
gpt4 key购买 nike

我需要动态地调整一些 block 的大小以填充窗口调整大小时引起的空白(我认为这可以用 javascript 完成)但是我该怎么做呢?

var txt = "";
txt += "<p>innerWidth: " + window.innerWidth + " px</p>";
txt += "<p>outerWidth: " + window.outerWidth + " px</p>";

document.getElementById("demo").innerHTML = txt;
.container {
width:100%;
background:#fff;
height:300px;
}

.fixed-block {
float:left;
height:80px;
border:solid 2px #000;
min-width:70px;
background:#777;
width:23%;
}
<div class="container">
<div class="fixed-block">
</div>
<div class="fixed-block">
</div>
<div class="fixed-bblock">
</div>
<div class="fixed-block">
</div>
<div class="fixed-block">
</div>
</div>
<div id="demo"></div>

这里是 jsfiddle

最佳答案

类似的东西?

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body>

<div class="container">
<div class="fixed-block"></div>
<div class="fixed-block"></div>
<div class="fixed-block"></div>
<div class="fixed-block"></div>
<div class="fixed-block"></div>
</div>

<script>
window.onload = resizeDivs;
window.onresize = resizeDivs;

function resizeDivs() {
var container = document.querySelector('.container');

// Compute new size:
var divs = document.querySelectorAll('.fixed-block');
var divNb = divs.length;
var divWidth = Math.round(container.clientWidth / divNb) -0.5;
var divHeight = container.clientHeight;

// Apply size to the divs
for(var i=0; i<divNb; i++) {
var div = divs[i];
div.style.width = divWidth + 'px';
div.style.height = divHeight + 'px';
}
}
</script>

<style>
body {
background: lightgrey;
}

.container {
width:100%;
background:#fff;
height:300px;
}

.fixed-block {
float:left;
height:80px;
box-sizing: border-box;/*important as border should not be added to the size*/
border:solid 2px #000;
min-width:70px;
background:#777;
width:23%;
}
</style>
</body>
</html>

编辑:在窗口打开时进行轮计算和调整大小的小改进

关于javascript - 调整窗口大小时自动将图像适合 div 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46344587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com