【发布时间】:2026-02-13 11:30:01
【问题描述】:
主要编辑: 好吧,我只是意识到有一百种不同的情况,你想做我想做的事,但使用不同的规则,所以我必须描述我的具体情况。基本上我使用的是this image popup (code here)
如果您在弹出窗口打开时缩小窗口大小,您会注意到弹出窗口不会缩小以适应窗口,这会导致用户体验不佳,尤其是在智能手机的横向模式下
我希望我的弹出窗口根据屏幕的二维尺寸缩小,而不改变图像的纵横比。 (保持平方)
到目前为止,我已经进行了以下更改:
.focus {
z-index: 10;
max-width: 500px;
max-height: 500px;
display: none;
}
.focus.enabled .container {
max-width: 500px;
max-height: 500px;
}
如果您尝试使用萤火虫there,它会在缩小宽度时使图像响应,但在缩小窗口高度时不会...如何使两个尺寸都响应,同时保持图像的良好纵横比?
------------ 上一个问题(仅用于历史目的):----------------
我想在浏览器窗口中严格保留最大尺寸为 500x500 的元素(在这种情况下为图片),同时保持其纵横比。这是一些html:
<html>
<head>
</head>
<body>
<img src="myimage.png" class="image" />
</body>
</html>
还有一些 CSS:
.image {
max-height: 500px;
max-width: 500px;
height: 100%;
width: 100%;
}
现在有了这个 css,图像会留在窗口内,但当窗口的其中一个尺寸小于 500 像素时,图像就会变形。要固定比率,我可以摆脱两个100% 规则之一:
.image {
max-height: 500px;
max-width: 500px;
height: 100%;
/*width: 100%;*/
}
但是,比例确实保持不变,但是当窗口宽度小于 500 像素时,图像会被裁剪!对于这个看似基本的问题,什么是纯粹而简单的 css 解决方案?
【问题讨论】:
-
原始形状总是期望为正方形,所以是的。你在想什么?
标签: image css responsive-design aspect-ratio