美文网首页
【css】1像素的问题

【css】1像素的问题

作者: SophieRabbit | 来源:发表于2020-09-03 18:54 被阅读0次

在移动端设备中,很多css设置为1像素的border实际屏幕显示为2px或者3px。这种情况是什么原因呢?

主要原因是css像素与物理像素的区别

首先说一个概念:dpr

dpr,即device pixel ratio——设备像素比

不同的设备具有不同的像素比,dpr决定了由设备的多少个物理像素显示web css的一个像素

比如dpr为2时,设备上由2个像素表现css上的一个像素

解决1px border问题

要想达到1px效果,只需要查询当前设备的dpr,再根据dpr进行缩放即可

纵轴缩放处理1px border代码:

@mixin border_1px($color) {

    //设置父元素相对定位,否则子元素是个根节点

    position: relative;

    //媒体查询

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

        &::before {

            content: ' ';

            position: absolute;

            left:0px;

            top: 0px;

            background-color: $color;

            height: 1px;

            width: 100%;

            //核心,1px/像素比

            transform: scaleY(0.667);

        }

    }

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

        &::before {

            content: ' ';

            position: absolute;

            left:0px;

            top: 0px;

            background-color: $color;

            height: 1px;

            width: 100%;

            //核心

            transform: scaleY(0.5);

        }

    }

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

        &::before{

            content: ' ';

            position: absolute;

            left:0px;

            top: 0px;

            background-color: $color;

            height: 1px;

            width: 100%;

            //核心

            transform: scaleY(0.333);

        }

    }

}

相关文章

  • css问题

    背景问题。浏览器宽度变化出现重复问题。image.png 灵活问题。有的css我们可以写出来,但是每个元素都一个类...

  • css问题

    解释css sprites。并说如何使用。 3强制转化2中隐式转化 写一个获取非行间样式的函数 介绍一下css的盒...

  • css问题

    一、vue绑定行内 style 样式 二、页面缩放背景图不变形

  • CSS问题

    在自定义css中,覆盖框架自动生成div上的样式 用法:在.item-complex出现的位置写.zdy(可写其他...

  • css问题

    标准盒模型&非标准盒模型(怪异盒模型) 标准盒模型 box-sizing (模型样式) 语法: box-sizin...

  • IOS下input的placeholder不垂直居中的问题

    问题:IOS下input的placeholder不垂直居中的问题 html部分 css部分 原本的css如上 导致...

  • 2020-10-17学习笔记(CSS概述——CSS书写位置)

    CSS 概述 产生背景 为了解决HTML页面臃肿的问题,CSS应运而生。 发展过程 CSS概念 css——层叠样式...

  • 7

    美化组建 CSS IN JS 过一边常规的CSS有哪些问题和处理这些问题的方案,是很火和具有争议 -常见的CSS问...

  • web前端——css学习

    问题 什么是css? 为什么会有css? css和HTML怎么样结合? css (what) 这是W3School...

  • 兼容性问题

    CSS兼容性问题PC页面布局兼容JS兼容问题移动页面兼容问题 CSS兼容问题.header {_width:100...

网友评论

      本文标题:【css】1像素的问题

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