为什么 CSS border-image 在移动端表现不一致?
使用 border-image 属性为元素设置边框图片,在移动设备上可能会出现与预期效果不符的情况。
问题:
在以下代码中,#demo 元素在桌面端正常显示为左侧带有渐变边框,但在 ios 移动设备上却变成了全框渐变:
#demo { margin-left: 3rem; width: 100px; height: 100px; border-left: 3px solid; border-image: linear-gradient(red, blue) 1; }
解决方案:
为了解决此问题,可以将 border 属性显式设置为 0,然后只设置 border-left 属性:
#demo { margin-left: 3rem; width: 100px; height: 100px; border: 0; border-left: 3px solid; border-image: linear-gradient(red, blue) 1; }
通过显式设置 border 为 0,可以消除其他边框的默认阴影效果,从而实现仅在左侧显示渐变边框的效果。