weui 用伪元素生成border,源码有点不理解

fcxh
  • 434
    
.weui_actionsheet_cell {
  position: relative;
  padding: 10px 0;
  text-align: center;
  font-size: 18px;
}
.weui_actionsheet_cell:before {
      content: " ";
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 1px;
      border-top: 1px solid #D9D9D9;
      color: #D9D9D9;
      -webkit-transform-origin: 0 0;
              transform-origin: 0 0;
      -webkit-transform: scaleY(0.5);
              transform: scaleY(0.5);
}

我想知道为什么weui中,利用伪元素生成border,同时使用了border:1px和height:1px;,然后又在Y轴上缩放0.5倍。我觉得直接用border不久可以了,应该没有那个浏览器不支持border的吧。
回复
阅读 4.6k
5 个回答

为了适应高清屏、retina屏的1px border问题。用transform scale y一下就解决了。用伪元素的好处也在于不用多些无用的div标签。

如果只有宽度没有高度,这里给出高度,应该只是为了更好的显示出来~避免显示不出来的情况吧~~这里应该是为了1px的border宽,先给1px的高度,然后再给Y轴缩放回来~最后应该是一条线。

为了解决retina屏幕的1px边框问题

为了实现0.5px边框

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏