Ionic2/3常见问题-app统一为ios模式border不显示

前言

  • 这个问题只出现在app统一mode为ios,在安卓手机上有显示问题


    Ionic2/3常见问题-app统一为ios模式border不显示_第1张图片

问题描述

  • 如下图,同一个app在不同的android手机上显示的border有问题


    Ionic2/3常见问题-app统一为ios模式border不显示_第2张图片

    Ionic2/3常见问题-app统一为ios模式border不显示_第3张图片

原因

  • ionic2使用了带小数点的border-width,而带小数点的border存在浏览器兼容性问题


    Ionic2/3常见问题-app统一为ios模式border不显示_第4张图片

    Ionic2/3常见问题-app统一为ios模式border不显示_第5张图片
  • 百度了一下带小数点的px兼容性问题
    采用四舍五入解析的浏览器:IE8、IE9、Chrome,如0.55px显示为1px
    采用直接取整解析的浏览器:IE7、Firefox,如0.55px显示为0px
    可以显示带小数点的浏览器 : Safari,如0.55px就显示为0.55px

  • 所以我们要么统一border-width为1px要么统一为0

解决过程

  • 既然是ionic使用了0.55px,那我们就找源码看哪里用了0.55px


    Ionic2/3常见问题-app统一为ios模式border不显示_第6张图片
  • 直接修改源码很不科学哦,每次重新安装node_modules都要修改,每个开发人员都要修改,于是看官网有没有提供这个变量


    Ionic2/3常见问题-app统一为ios模式border不显示_第7张图片
  • 那就在我们的src/theme/variables.scss主题文件,覆盖这个属性
    Ionic2/3常见问题-app统一为ios模式border不显示_第8张图片

最后

  • 原本border-width是0.55px,border-color是#c8c7cc,现在border统一为1px,增宽了,显得#c8c7cc这个颜色太深了
    于是和上面解决过程一样搜索#c8c7cc,最终找到了变量$list-border-color,修改为一个浅颜色.如下图


    Ionic2/3常见问题-app统一为ios模式border不显示_第9张图片

你可能感兴趣的:(Ionic2/3常见问题-app统一为ios模式border不显示)