一看就理解的“像素”与适配

107 阅读2分钟

像素:

1.1 物理像素 :就是实际的显示器的分辨率,也就是一个个发亮的点,例如电脑的一般有1920x1080,苹果6是750x1334

1.2 css像素:写网页的时候使用的px像素,就是css像素

1.3 视口

    1. 指的是可见的窗口大小,单位是px,也就是css像素,不是指真实用尺子测量的尺寸,也不是物理像素;例如打开pc端浏览器,查看html的宽度,那就是视口的大小;

    2. 可以通过改变视口的大小,来改变css像素与物理像素的比值;

 默认情况下:  

                pc端视口宽度:1920px (css像素) , 分辨率宽:1920(物理像素)  
                移动端视口宽度: 980px(css像素), 苹果6分辨率宽:750(物理像素)

          总结:
                 pc端默认 css像素与物理像素的比例是 1 : 1, 也就是1个css像素用一个物理像素来显示; 
                 苹果6的css与物理比例是 1: 0.76, 也就是1个css像素用0.76个物理像素来显示;
                
          备注:
                  移动端默认视口为什么是980px, 是因为以前的pc端网页的宽度一般为980px,
                  所以为了能在移动端把pc网页全部展示出来;
                  
                  怎么改变视口的宽度?通过,meta标签,
                  <meta name="viewport" content="width=device-width, initial-scale=1.0 /> 
                  width就是设置视口的宽度;device-width是每个手机的一个变量值,里面存的是最佳的视口宽度;

    例如苹果6,最佳的显示是,把css显示放大2倍来显示,因为移动端的每个物理像素表示的点太小了,只有把1个css像素用2个物理像素来显示,才看得清,所以css与物理像素的比例为1:2,所以通过改变视口的宽度,视口的宽度改为375px,也就是物理不变为750, css为375,也就是一个css用2个物理来显示

移动端适配

前提1 设计稿一般为750px, 为了图片能清晰

前提2 100vw  代表的是100全宽

需求 把750px的设计放到全屏手机中;

计算  750px = 100vw;   1px = 100/750 = 0.1333vw

规定   1rem = 1 个html的font-size大小;

设置 把html的font-size设为 :( 0.1333 * 40) vw  . //  乘以40是因为浏览器有最小字体大小的限制,例如谷歌限制最小为12px,所以要乘个数,让它变大一点;

              1rem = (0.1333 * 40) vw 

              1rem = 1px * 40 = 40px;  
              
              设计稿一个组件的宽度为48px;  
              
             

div {
                width: ( 48 / 40 ) rem  

           }