关闭边栏(ESC)打开边栏(ESC)
今晚在处理新的首页时,想法是这样,第一个卡片应用一个视频文件作为背景,但发现无法铺满窗口,也没无法适应各种设备的窗口,查找了百度,原来还有这么个属性:object-fit
object-fit理解
.fill { object-fit: fill; }
.contain { object-fit: contain; }
.cover { object-fit: cover; }
.none { object-fit: none; }
.scale-down { object-fit: scale-down; }
每个属性值的具体含义如下
fill: 中文释义“填充”。默认值。替换内容拉伸填满整个content box, 不保证保持原有的比例。
contain: 中文释义“包含”。保持原有尺寸比例。保证替换内容尺寸一定可以在容器里面放得下。因此,此参数可能会在容器内留下空白。
cover: 中文释义“覆盖”。保持原有尺寸比例。保证替换内容尺寸一定大于容器尺寸,宽度和高度至少有一个和容器一致。因此,此参数可能会让替换内容(如图片)部分区域不可见。
none: 中文释义“无”。保持原有尺寸比例。同时保持替换内容原始尺寸大小。
scale-down: 中文释义“降低”。就好像依次设置了none或contain, 最终呈现的是尺寸比较小的那个
为标签加上width与height属性
width:100%;
height:100%
图片或视频样式加入后的效果
这属性有点像background-size的属性,像本站首页第一个卡片用视频后,就能铺满屏了
一个完整的例子,效果如上图
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
CSS代码: .box { width: 160px; height: 160px; margin: 10px 0 20px; background-color: #beceeb; overflow: hidden; resize: both; } .box > img { width: 100%; height: 100%; background-color: #cd0000; } .fill { object-fit: fill; } .contain { object-fit: contain; } .cover { object-fit: cover; } .none { object-fit: none; } .scale-down { object-fit: scale-down; } HTML代码: <strong>object-fit: fill</strong> <div class="box"> <img src="mm1.jpg" class="fill"> </div> <strong>object-fit: contain</strong> <div class="box"> <img src="mm1.jpg" class="contain"> </div> <strong>object-fit: cover</strong> <div class="box"> <img src="mm1.jpg" class="cover"> </div> <strong>object-fit: none</strong> <div class="box"> <img src="mm1.jpg" class="none"> </div> <strong>object-fit: scale-down</strong> <div class="box"> <img src="mm1.jpg" class="scale-down"> </div> |
以前我弄过一个广告代码,这里也加上只显示一次就隐藏更棒了
新年好,这个建议好,谢谢
这个很好用阿,哈哈,用在图片上面也可以。方便
也有浏览器不支持的