在使用 css 调整窗口大小时调整 div 的宽度和高度

Posted

技术标签:

【中文标题】在使用 css 调整窗口大小时调整 div 的宽度和高度【英文标题】:resize both width and height of a div while window resize using css 【发布时间】:2014-11-10 22:51:40 【问题描述】:

有什么方法可以调整 div 的宽度和高度,这与使用 css 的浏览器调整大小相关?我已经实现了宽度调整,但找不到如何调整高度的相关性。

【问题讨论】:

【参考方案1】:

使用视口百分比长度:

5.1.2. Viewport-percentage lengths: the ‘vw’, ‘vh’, ‘vmin’, ‘vmax’ units

视口百分比长度与初始包含块的大小相关。当初始包含块的高度或宽度发生变化时,它们会相应地缩放。

如果你想创建一个保持纵横比的正方形,你可以使用:

Example Here

.maintain-aspect-ratio 
    width: 25%;
    height: 25vw;

大多数现代浏览器都支持这些长度 - support can be found here。


如果您想要一个支持更多浏览器的替代方案,您可以随时使用padding-top trick 来保持纵横比。

Alternative Example

.maintain-aspect-ratio 
    position: relative;
    width: 25%;
    background: red;

.maintain-aspect-ratio:before 
    content: '';
    display: block;
    padding-top: 100%; /* 1:1 ratio */

【讨论】:

以上是关于在使用 css 调整窗口大小时调整 div 的宽度和高度的主要内容,如果未能解决你的问题,请参考以下文章

使用窗口调整大小缩放固定位置 div 的宽度

是否可以使用 CSS 将字体大小调整为 div 宽度?

使用 css 防止或禁用 div 中的自动图像调整大小(使用引导程序)

用浏览器窗口调整两个div底部div到高度[复制]

两个div底部div通过浏览器窗口调整高度[重复]

使用css自动调整中心div的大小?