【发布时间】:2020-11-24 06:13:43
【问题描述】:
我已经确定了如何根据宽度设置 div 高度(使用百分比宽度和 padding-bottom)。但我还需要能够根据其高度设置 div 宽度。我试过使用 vw/vm/vh 单位,但这些单位是相对于视口而不是容器的。
所以,在下面的例子中
<body>
<div class="rectangle">
<div class="square">
</div>
</div>
</body>
以下是一些仅在纵向中有效的无效 CSS:
.rectangle {
background-color:red;
position:absolute;
top:0;
left:0;
bottom:0;
right:0;
}
.square {
background-color:blue;
width:100%;
padding-bottom:100%;
}
我希望 .rectangle 填充其容器,这意味着随着窗口大小的变化,.rectangle 可能会从横向布局变为纵向布局。发生这种情况时,我希望 .square div 尽可能地填充而不会丢失其方形。
因此,如果浏览器窗口的宽度大于高度(横向),则 .rectangle 应该填满窗口,并且 .square 应该与矩形的高度一样高,并且与矩形的高度一样宽。
如果浏览器窗口的高度大于宽度(纵向),.rectangle 应该填满窗口,.square 应该与矩形宽度一样宽,并且与矩形宽度一样高。
所以,我可以使用媒体查询在横向和纵向之间交换样式,并且我有纵向案例的解决方案,但我还没有找到横向案例的解决方案。如何让正方形填充其父级的高度,并限制其宽度以保持正方形的纵横比?
【问题讨论】:
-
一个css相关问题的css代码怎么样?
-
有不同的方法不能一起工作。由于我还没有找到解决方案,因此我的 CSS 与解决方案不会特别相关。以下是肖像案例的一些可能性:stackoverflow.com/questions/1495407/…
标签: css