美文网首页
# 移动端项目中 @2x 图 和 @3x 图 的使用

# 移动端项目中 @2x 图 和 @3x 图 的使用

作者: 考拉程序媛 | 来源:发表于2019-07-27 15:55 被阅读0次
移动端开发过程中,因为手机的dpr(设备像素比不同),我们需要根据dpr来修改图标的大小:

1.通过mixin,动态修改图标的背景图片。通过@media (媒体查询),判断设备的dpr。


`@mixin bg-image(<article class="baidu_pl" style="box-sizing: inherit; outline: 0px; margin: 0px; padding: 16px 0px 0px; display: block; position: relative;"`url``) {`

`background-image``: ``url``(<article class="baidu_pl" style="box-sizing: inherit; outline: 0px; margin: 0px; padding: 16px 0px 0px; display: block; position: relative;"`url` `+ ``"@2x.png"``);`

`@media (-webkit-min-device-pixel-ratio: ``3``),(min-device-pixel-ratio: ``3``) {`

`background-image``: ``url``(<article class="baidu_pl" style="box-sizing: inherit; outline: 0px; margin: 0px; padding: 16px 0px 0px; display: block; position: relative;"`url` `+ ``"@3x.png"``);`

`}`

`}`

 |

2.css样式中调用 bg-image 方法



`div{`

`width``:``30px``;`

`height``:``20px``;`

`background-``size``:``30px`  `20px``;`

`background-repeat``:``no-repeat``;`

`@include bg-image(``'special_1'``);     `

`}`

 |

移动端 border 的 1px 问题:

1.为了方便通用,使用 mixin 定义一个函数。

| 


`@mixin border``-1px``($color) {`

`position``: ``relative``;`

`&:after{`

`display``: ``block``;`

`position``: ``absolute``;`

`left``: ``0``;`

`bottom``: ``0``;`

`width``: ``100%``;`

`border-top``: ``1px` `solid` `$color;`

`content``: ``' '``;`

`}`

`}`

 |

2.对 伪类 :after 进行缩放,以适应不同 dpr 的手机。通过 @media (媒体查询),来确定 设备的 dpr。 为了方便调用,定义一个全局的 class (此处为 border-1px)


`// 判断在不同dpr下的显示情况`

`@media (-webkit-min-device-pixel-ratio: ``1.5``),(min-device-pixel-ratio: ``1.5``) {`

`.border``-1px``{`

`&::after{`

`-webkit-transform: scaleY(``0.7``);`

`transform: scaleY(``0.7``);`

`}`

`}`

`}`

`@media (-webkit-min-device-pixel-ratio: ``2``),(min-device-pixel-ratio: ``2``) {`

`.border``-1px``{`

`&::after{`

`-webkit-transform: scaleY(``0.5``);`

`transform: scaleY(``0.5``);`

`}`

`}`

`}`

 |

3.html/css样式调用.

html:


`<``div` `class="tab border-1px">`

`<``div` `class="tab-item">`

`<``a` `v-link="{path:'/goods'}">商品</``a``>`

`</``div``>`

`<``div` `class="tab-item">`

`<``a` `v-link="{path:'/ratings'}">评价</``a``>`

`</``div``>`

`<``div` `class="tab-item">`

`<``a` `v-link="{path:'/seller'}">商家</``a``>`

`</``div``>`

`</``div``>`

 |

css:

`.tab{`

`display``: flex;`

`width``: ``100%``;`

`height``: ``40px``;`

`line-height``: ``40px``;`

`@include border``-1px``(rgba(``7``,``17``,``27``,``0.1``));`

`}`

 |

</article>

相关文章

网友评论

      本文标题:# 移动端项目中 @2x 图 和 @3x 图 的使用

      本文链接:https://www.haomeiwen.com/subject/diserctx.html