1、盒子给出宽高,内部图片的宽高均为100%
案例:轮播图内图片适应父级盒子大小
<!-- html结构 -->
<div class="box">
<img class="pic" src="" alt="">
</div>
// css样式
.box{
width: 10rem;
height: 10rem;
.pic{
width:100%;
height:100%;
}
}
2、按照比例缩放
(1)以长边为标准,短边自适应:
.box {
display: flex;
justify-content: center;
align-items: center;
width: 定值;
height: 定值;
}
.pic {
width:auto;
height:auto;
max-width:100%;
max-height:100%;
}
(2)以短边为标准,长边中间截断:
在图片的样式中添加:
object-fit: cover;
该属性会对图片保留原始比列,多余的会被裁剪。添加该属性后,图片会适应指定容器的高度与宽度。一般用于 img 和 video 标签,可以在剪切、缩放或者直接进行拉伸等操作时,保留该元素的原始比例。
语法:
object-fit: fill|contain|cover|scale-down|none|initial|inherit;
fill:默认,不保证保持原有的比例,内容拉伸填充整个内容容器。
contain:保持原有尺寸比例。内容被缩放。
cover:保持原有尺寸比例。但部分内容可能被剪切。
scale-down:保持原有尺寸比例。内容的尺寸与 none 或 contain 中的一个相同,取决于它们两个之间谁得到的对象尺寸会更小一些。
none:保留原有元素内容的长度和宽度,也就是说内容不会被重置。
initial:设置为默认值。
inherit:从父元素中继承。
3、盒子内部background-image: url(./xxx.jpg);图片自适应
添加 background-size: 100%; 样式就行了
<div class="box"></div>
.box {
width: 200px;
height: 200px;
background-image: url(./发光.png);
background-size: 100%;
}