我目前正在研究响应式设计,当尝试将图像放置在圆圈内而不溢出时,我遇到了一个问题。我有一个圆形容器,我希望图像适合圆圈内而不会溢出,尤其是当屏幕尺寸发生变化时。
#inner {
position: absolute;
left: 10vw;
max-width: 30%;
}
.circled {
width: 30vw;
height: 30vw;
}
.container {
width: 80vw;
}
#outer {
position: relative;
left: -10vw;
bottom: 20vh;
width: 400px;
height: 400px;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Circle</title>
<link rel="stylesheet" href="./styles.css">
</head>
<body>
<div class="container">
<div class="circled"><img id="inner" src="https://i.postimg.cc/yNNG527Q/pfp.png"><img id="outer" src="https://i.postimg.cc/K8bS99Kw/circle.gif"></div>
</div>
</body>
</html>
我尝试使用 max-width: 100% 和 max-height: 100% 等 CSS 属性来确保图像不会超过圆圈的尺寸,但它似乎没有按预期工作。画面依然充满悲伤。我想实现响应式设计而不过度依赖媒体查询。
我相信这就是你要问的。如果您希望每次都将两张图像完美地堆叠在一起,一种方法就是这样。
position: relative;
,另一个是 position: absolute;
position
,这里设置为position: relative
。这为两个图像提供了一个共享的共同起点。.container {
width: 80vw;
position: relative;
}
.circled {
width: 30vw;
height: 30vw;
position: relative;
}
#inner {
position: relative;
width: 100%;
height: auto;
}
#outer {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Circle</title>
<link rel="stylesheet" href="./styles.css">
</head>
<body>
<div class="container">
<div class="circled">
<img id="inner" src="https://i.postimg.cc/yNNG527Q/pfp.png">
<img id="outer" src="https://i.postimg.cc/K8bS99Kw/circle.gif">
</div>
</div>
</body>
</html>