javascript - 如何修复 div 纵横比?
问题描述
div
当浏览器大多水平或垂直时,我需要将纵横比保持为 4:3。并且需要 div 大小随着浏览器窗口的增加而增加。
我找到了这个解决方案来设置padding-bottom: 75%; width: 100%;
. 当浏览器窗口主要是垂直时,它可以工作,但是当浏览器窗口主要是水平时,我没有得到想要的结果。
你有什么主意吗?你会推荐使用Javascript
吗?如果是这样,那怎么办?
<!DOCTYPE html>
<html>
<head>
<style>
div.ex1 {
border: 1px solid red;
padding-bottom: 75%;
width: 100%;
}
</style>
</head>
<body>
<div class="ex1"/>
</body>
</html>
解决方案
使用 padding hack 来获取元素比率不适用于边框 - 边框使它成为方形。以下是 2 种情况,一种没有最大宽度容器,另一种有。
body {
padding: 0;
margin: 0;
}
.r-4by3-wrap {
max-width: calc(100vmin * 4 / 3);
margin: auto;
}
.r-4by3 {
height: 0;
padding-top: 75%;
}
<div class="r-4by3-wrap">
<div style="border: 10px solid red">
<div class="r-4by3" style="background: pink">
</div>
</div>
</div>
推荐阅读
- sql - 按每个 ID 的最小和最大日期分组
- c++ - libgtest.so 文件无法识别,格式无法识别
- c# - 如何从对象列表中调用通用函数
- python - 无法在我的公司网络上安装 Pylint
- r - dplyr/purrr 遍历列和行
- spring-boot - ConnectionPool:池为空 - 增加 maxPoolSize 或 borrowConnectionTimeout
- r - 如何为多项 gbm 创建部分依赖图?
- here-api - HERE Maps API 在 Chromium 80 上随机变为空白
- javascript - Firebase Web 应用程序 - 调用 gotData 函数
- javascript - 在函数内部调用 Promise,然后导出结果?