gpt4 book ai didi

html - 如何在 CSS 中垂直和水平居中方形 SVG,以便无论尺寸如何,只有图像在视口(viewport)中可见

转载 作者:行者123 更新时间:2023-11-28 14:17:03 25 4
gpt4 key购买 nike

我正在尝试获取 SVG 并将其显示在移动和桌面浏览器上。 SVG 是正方形,所以如果我尝试使用 contain 将它垂直和水平居中,它将在中心显示正方形图像。这不是我想要的。

我想要的是让它以图像为中心,然后放大,这样您看到的只是图像的一部分,其余部分被剪裁视口(viewport)。我无法上传图片给你看,但这张图应该有助于澄清。

移动:

  ┌┄┄┄┄╔═══════╗┄┄┄┄┐
┆ ║ ║ ┆
┆ ║ ║ ┆
┆ ║ ║ ┆
┆ ║ ║ ┆
┆ ║ ║ ┆
┆ ║ ║ ┆
└┄┄┄┄╚═══════╝┄┄┄┄┘
^ ^
| |
viewport image

桌面:

                image
|
v
┌┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┐
╔═════════════════╗
║ ║
║ ║
║ ║
║ ║<-- viewport
║ ║
║ ║
╚═════════════════╝
└┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┘

我试过 object-fit: cover 但不行。

最佳答案

yourSelector {
background: url('path/to/your/svg') center /cover;
}

...应该这样做。
在上面的简写中,/cover

的缩写
background-size: cover;

看到它工作:

div {
background: url('https://placeholder.pics/svg/300') center /cover;
}
.one{
height: 200px;
width: 50%;
}
.two {
height: 100px;
width: 100%;
}
.three {
height: 400px;
width: 100px;
}
.four {
height: 200px;
width: 200px;
}
<div class="one"></div>
<div class="two"></div>
<div class="three"></div>
<div class="four"></div>

或作为background-image<body> :

body {
background: url('https://placeholder.pics/svg/300') center /cover;
margin: 0;
min-height: 100vh;
}

关于html - 如何在 CSS 中垂直和水平居中方形 SVG,以便无论尺寸如何,只有图像在视口(viewport)中可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55776403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com