网页中因固定尺寸图框引发的图片变形问题的解决方案

2022-11-02 1,156 0

在做网页开发的时候经常遇到这样一个问题:显示图片的块的尺寸(或者尺寸比例)固定,而可能被显示到该模块的图片(用户上传的图片)尺寸和比例是不确定的,那在实际应用上就会出现图片被压缩、拉升、变形甚至图框大量空白的情况,如下图(图片截取自西南地区某县政府网站)。

这种情况还大量出现在屏幕缩放的时候。处理方法就是在图片css中object-fit属性。

示例:

html代码:

<div class="swiper-slide"><img src="images/[email protected]" alt="" /></div>
<div class="swiper-slide"><img src="images/IMG_3393.JPG" alt="" /></div>
<div class="swiper-slide"><img src="images/99.jpg" alt="" /></div>

CSS代码

.swiper-slide {
    width: 100%;
    height: 500px;
}
.swiper-slide img{
    width: 100%;
    height: 100%;
    object-fit:cover;
}

object-fit属性详解

object-fit CSS 属性指定可替换元素(例如:<img> 或 <video>)的内容应该如何适应到其使用高度和宽度确定的框。可以通过使用 object-position 属性来切换被替换元素的内容对象在元素框内的对齐方式。

属性取值

contain:被替换的内容将被缩放,以在填充元素的内容框时保持其宽高比。 整个对象在填充盒子的同时保留其长宽比,因此如果宽高比与框的宽高比不匹配,该对象将被添加‘黑边’

cover:被替换的内容在保持其宽高比的同时填充元素的整个内容框。如果对象的宽高比与内容框不相匹配,该对象将被剪裁以适应内容框。

fill:被替换的内容正好填充元素的内容框。整个对象将完全填充此框。如果对象的宽高比与内容框不相匹配,那么该对象将被拉伸以适应内容框。

none:被替换的内容将保持其原有的尺寸。

scale-down:内容的尺寸与 none 或 contain 中的一个相同,取决于它们两个之间谁得到的对象尺寸会更小一些。

相关文章

使用Cloudflare进行CDN加速后,宝塔面板/aaPanel无法使用域名打开的解决方案
使用OpenAi协助解决WordPress摘要结尾显示<�>乱码
近年重要的数据泄露事件盘点
ChatGPT账号注册教程,免账号体验链接
使用油猴脚本Color back让灰色网页重新变为彩色
超全HTML颜色代码表

发布评论