【发布时间】:2015-07-07 07:58:03
【问题描述】:
我需要缩放 div 的高度。
应该如何工作
- div 应该缩放,保持当前的纵横比
- 宽度应始终为 100 像素
- 高度应与 100 像素宽度成比例
- 我在代码中添加了一些示例宽度和高度
- 如果需要,添加更多 HTML + CSS
示例
一个 div 块最初是 300px x 600px。当适合 100px 的宽度时,它将是 100px x 200px。
结果
结果将是相同宽度的 div,但它们的高度不同,有些比其他高。
https://jsfiddle.net/80pk066L/5/
备注
如果它应该是一个图像,它会在将宽度设置为 100% 时包含纵横比,但这不是一个图像。它是一个 div。
HTML
<ul>
<li class="scale1"><div></div></li>
<li class="scale2"><div></div></li>
<li class="scale3"><div></div></li>
<li class="scale4"><div></div></li>
<li class="scale5"><div></div></li>
</ul>
CSS
ul {
width: 300px;
}
li {
float: left;
background: red;
margin: 10px;
list-style: none;
display: block;
height: 100px;
width: 100px;
/*REMOVE HEIGHT AND WIDTH HERE, JUST DECORATION
Width should always be 100px
Height should be whatever, can be larger than 100px
*/
}
.scale1 div {
width: 300px;
height: 500px;
}
.scale2 div {
width: 400px;
height: 400px;
}
.scale3 div {
width: 200px;
height: 300px;
}
.scale4 div {
width: 50px;
height: 60px;
}
.scale5 div {
width: 150px;
height: 75px;
}
【问题讨论】:
-
每个
li形成一个100px的正方形,并有一个具有一定纵横比的子div,你想让子div适合li吗? -
一方面,你应该在你的比例定义中删除“
div”——它是由点暗示的。我不确定你所说的比例是什么意思......如果你想要 200 的高度和 100 的宽度,为什么不设置呢? -
@MarcAudet 不,我可能应该编辑我的问题。一个 div 可以是 100x200、100x40,但绝不像 200x100 或 300x500。宽度应始终为 100 像素。高度可以是任何东西。
-
所以不要为 div 设置宽度,也不要为列表项设置高度。
-
然后从 li 中删除高度会给你想要的输出吗?
标签: html css scale aspect-ratio