gpt4 book ai didi

html - 保持图像居中,同时保持 100% 高度并且只扩展/裁剪边

转载 作者:搜寻专家 更新时间:2023-10-31 08:50:52 25 4
gpt4 key购买 nike

问题

我有一张用户图片,我想随窗口缩放,以便高度始终为 100% 并且图片保持居中。


示例 1

此示例会随着窗口大小的调整而缩放,但高度不会保持在 100%,因此会在底部被截断。

.user {
width: 100%;
height: 100%;
object-fit: cover;
object-position: 50% 0%;
}

CodePen Example 1


例子2

这个例子非常完美,除了当浏览器窗口的宽度小于图像的宽度时,右侧被切掉了。

确实希望图像被裁剪,但我希望左右两边均等裁剪。

.user {
object-position: center;
display: block;
height: 100%;
margin-left: auto;
margin-right: auto;
}

CodePen Example 2


视觉示例

这是一个示例,说明当浏览器水平/垂直缩放时我希望图像如何显示。

myimage

最佳答案

一个想法是像这样使用多个背景:

我用了多个 div 来说明不同的尺寸

body,
html {
height: 100vh;
margin: 0;
}

.bg-shine {
background-position: center;
background-repeat: no-repeat;
background-size: auto 100%, cover;
background-image: url("https://icons.iconarchive.com/icons/paomedia/small-n-flat/512/user-male-icon.png"), url("https://t.motionelements.com/stock-video/design-elements/me1656952-blue-sunrise-background-hd-a0120-poster.jpg");
}
<div style="display: inline-block;">
<div class="bg-shine" style="height:100px;width:400px;">

</div>
<div class="bg-shine" style="height:100px;width:200px;">

</div>
</div>
<div style="display: inline-block;">
<div class="bg-shine" style="height:200px;width:100px;">

</div>
</div>

更新

要避免在 CSS 中使用图像,您可以考虑使用内联样式和用户图像的单独 div,这样您就拥有与使用图像标签几乎相同的标记:

body,
html {
height: 100vh;
margin: 0;
}

.bg-shine {
background-position: center;
background-repeat: no-repeat;
background-size: cover;
background-image: url("https://t.motionelements.com/stock-video/design-elements/me1656952-blue-sunrise-background-hd-a0120-poster.jpg");
}

.bg-shine>div {
background-size: auto 100%;
background-position: center;
background-repeat: no-repeat;
height:100%;
}
<div style="display: inline-block;">
<div class="bg-shine" style="height:100px;width:400px;">
<div style="background-image:url('https://icons.iconarchive.com/icons/paomedia/small-n-flat/512/user-male-icon.png')"></div>
</div>
<div class="bg-shine" style="height:100px;width:200px;">
<div style="background-image:url('https://icons.iconarchive.com/icons/paomedia/small-n-flat/512/user-male-icon.png')"></div>
</div>
</div>
<div style="display: inline-block;">
<div class="bg-shine" style="height:200px;width:100px;">
<div style="background-image:url('https://icons.iconarchive.com/icons/paomedia/small-n-flat/512/user-male-icon.png')"></div>
</div>
</div>

关于html - 保持图像居中,同时保持 100% 高度并且只扩展/裁剪边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48713926/

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