你遇到的问题是一个 Safari(iOS/iPadOS)特有的 background-size: cover 渲染差异,在某些情况下,背景图片在 cover 模式下不会完全覆盖容器宽度,尤其是 SVG 或分辨率较小的图像,导致容器两侧露出 background-color 的现象。
你想要SVG的白色部分覆盖大部分区域,但通过SVG的形状设计(那个斜切的角)来露出底层的蓝色背景。
.header {
// 保持原有样式
padding: 16px 0 0 16px;
margin-bottom: 16px;
height: 120px;
background: url('../../assets/myCenterBg.svg') no-repeat center;
background-size: cover;
border-radius: 12px;
width: 100%;
background-color: #0d5efe;
position: relative;
}
这个svg的宽高是多少?
- 宽度(width) : 343
- 高度(height) : 120
把svg换成png就可以好很多,但是自适应还是个问题,图片如果过长,高就会过高,导致底部没有蓝色区域;不过一般手机宽度不会过宽,除非横屏;