标签: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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。