需求描述
红框部分是父容器,图片就像图中那样,能保证都是这样的图片比例,而且所有的图片都是像这样上面是人或景,下半部分是纯色。
想通过CSS保证图片不变形的情况下,只拉伸图片的纯色部分填充满整个父容器,有办法做到吗
限制
- UI提供的图片就是这样,无法通过他们裁剪的方式拉长图片
- 不使用父容器填充纯色背景,然后图片放上去这种方式
红框部分是父容器,图片就像图中那样,能保证都是这样的图片比例,而且所有的图片都是像这样上面是人或景,下半部分是纯色。
想通过CSS保证图片不变形的情况下,只拉伸图片的纯色部分填充满整个父容器,有办法做到吗
可以是可以,就是会比较蠢,最好的是现实是让UI切两张图然后拉伸底色,或者说直接填充颜色。
并不是通过拉伸, object-fit
属性没有你想要的效果。
实现的思路是两个 <img>
组件,上层是正常的图,下层是挂底的的图片。这样叠加在一起的。
哦,原来是背景图啊,那么就更简单了。
可以利用border-image
的特性切割成9部分,让纯色内容自动拉伸。
关键在于如下的代码:
border-image-slice: 400 50% 10 50% fill;
top
取400,bottom
取10(可根据图片实际情况设置),然后中间部分的纯色就会自动去做拉伸了
4 回答1k 阅读✓ 已解决
2 回答900 阅读✓ 已解决
3 回答763 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
6 回答1.6k 阅读
2 回答1.3k 阅读✓ 已解决
5 回答1.3k 阅读
没办法一张图,需要将下部分纯色的截取一点出来
然后将截取的图,放到下方url中,相当于两个div拼接
背景图片铺满全屏,记得加个斜杠