ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

1px边框线问

2021-05-03 20:05:38  阅读:161  来源: 互联网

标签:ratio min max 1px radius device 边框线 pixel


变粗原因

css中的1px并不等于移动设备的1px,因为不同的手机有不同的像素密度。在window对象中有一个devicePixelRatio属性,他可以反应css中的像素与设备的像素比。(devicePixelRatio = 物理像素 / 独立像素。)手机的精度越大,线越粗。

解决办法

媒体查询利用设备像素比缩放,设置小数像素
优点:简单,好理解
缺点:兼容性差,目前之余IOS8+才支持,在IOS7及其以下、安卓系统都是显示0px。

border1px(width = 1px,color = #ccc,style = solid,radius = 0)
  position relative
  &::after
    position absolute
    pointer-events none//边框遮盖问题
    left 0
    right 0
    bottom 0
    top 0

    z-index 999//防止被覆盖

    content ''

    border-width width
    border-color color
    border-style style
    border-radius radius

    width 200%
    height 200%

    @media (max--moz-device-pixel-ratio: 1.49),(-webkit-max-device-pixel-ratio: 1.49),(max-device-pixel-ratio: 1.49),(max-resolution: 143dpi),(max-resolution: 1.49dppx)
        height 100%
        border-radius radius
        transform scale(1)

    @media (min--moz-device-pixel-ratio: 1.5) and (max--moz-device-pixel-ratio: 2.49),(-webkit-min-device-pixel-ratio: 1.5) and (-webkit-max-device-pixel-ratio: 2.49),(min-device-pixel-ratio: 1.5) and (max-device-pixel-ratio: 49),(min-resolution: 144dpi) and (max-resolution:239dpi),(min-resolution:1.5dppx) and (max-resolution: 2.49dppx)
        width 200%
        height 200%
        border-radius radius*2
        transform scale(0.5)

    @media (min--moz-device-pixel-ratio: 2.5),(-webkit-min-device-pixel-ratio: 2.5),(min-device-pixel-ratio: 2.5),(min-resolution: 240dpi),(min-resolution: 2.5dppx)
        width 300%
        height 300%
        border-radius radius*3
        transform scale(0.3333333)

    transform-origin 0 0

标签:ratio,min,max,1px,radius,device,边框线,pixel
来源: https://www.cnblogs.com/nnguhx/p/14728016.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有