移动端 CSS border-image 显示异常怎么办?

风之吻 网站开发 499

移动端 CSS border-image 显示异常怎么办?-第1张图片-风享汇

  避免 css border-image 在移动端的不兼容

  在项目中使用 CSS border-image 属性时,可能会遇到在移动设备上显示异常的问题。本问答将提供一个解决方案,帮助你在移动端完美呈现 border-image 效果。

  问题描述:

  如下 HTML 和 CSS 代码,在电脑端可以正常显示带颜色的边框,而在移动端却变成了一个完整的边框框:

<style>
  #demo {
    margin-left: 3rem;
    width: 100px;
    height: 100px;
    border-left: 3px solid;
    border-image: linear-gradient(red, blue) 1;
  }
</style>

<div id="demo"></div>

  原因分析:

  在移动设备上,WebKit 内核浏览器(如 Safari)对于 border-image 的解析存在问题,它会自动为元素添加一个背景边框,从而导致意想不到的边框效果。

  解决方案:

  为了解决这个问题,需要将元素的 border 属性设置为 0,以防止浏览器添加额外的边框:

<style>
  #demo {
    margin-left: 3rem;
    width: 100px;
    height: 100px;
    border: 0;  // 新增这一行
    border-left: 3px solid;
    border-image: linear-gradient(red, blue) 1;
  }
</style>

  通过添加 border: 0;,问题即可得到解决。元素的左边缘将只显示 3px 宽的红色边框,而不会出现额外的背景边框。

标签: css

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~