解决移动端 1px 边框问题
主要思路是将 HTML元素border设置为0,再通过伪类::before 或 ::after 去放大、旋转实现。
我的习惯是将 scss 变量存放在 vars.scss; scss mixin 存放在 mixin.scss.
vars.scss
1 | $border-colors: ( |
mixin.scss
1 | // border mixin start |
使用方法
如果使用 webpack 可以将 var.scss 和 mixin.scss 全局注入,方便使用。
或者在需要使用的 .scss 文件,import进入使用。
设置元素的单个边框,以上边框为例:
1 | // default color |
设置元素所有边框
1 | // default color |
Demo
活中充满了未知,充满了不确定,我们才会有继续生活下去的兴趣和愿望。 ——王小波