javascript - 我怎样才能保持由最大宽度、最大高度构造的 div 的形状?

标签 javascript html css

我需要 div 保持所需的形状(宽度/高度比例),例如正方形,同时 div 应在设定的限制内尽可能多地占据父容器,例如高达 90% 的高度和高达宽度的 60%。我可以在 javascript 的帮助下实现它,但我想看看 css 解决方案。

$(document).ready(function() {
  var a = Math.min($('div').width(),$('div').height());
  $('div').width(a).height(a);
});
html,body {
  height:100%;
}

div {
  max-width:60%;
  max-height:90%;
  height:100%;
  background: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>

最佳答案

不确定我是否完全理解这个问题,但是只有一种 css 方法可以在设置流动宽度的同时保持纵横比。

您可以设置百分比宽度,并使用 padding-bottom 设置百分比来增加高度。

这将使纵横比与调整大小时的宽度变化保持一致。

div {
  width: 33.33%;
  float: left;
  border: 1px solid grey;
  padding-bottom: 20%;
}

Example Codepen .

您可能需要调整 padding-bottom 百分比,直到它符合您想要的纵横比。

关于javascript - 我怎样才能保持由最大宽度、最大高度构造的 div 的形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50951784/

相关文章:

javascript - 鸭子打字与类型杂耍

javascript - 如果另一个 div 的高度大于值(使用 jquery),则移动一个 div

javascript - 我能够将文本数据加载到 .js 文件中的 javascript 数组中,但不能在 html 中加载

javascript - 查找为 div 设置 onclick 事件的位置?

html - CSS div 元素容器参数未相应显示

javascript - 滚动 X 量时将导航更改为 `position: fixed`

javascript - 使用 highcharts 获取 serieName 和类别值

javascript - 如何将模态框向下移动

JQuery 动画到定义的位置

javascript - 如何在网站的所有页面中使用 NavBar 而不会弄乱链接