像素与视口(学习笔记)

4个像素
    物理
    css
    独立
    位图
3个视口
    布局
    视觉
    理想
2个操作
    放大
    缩小
1个比例
    像素比

布局视口和视觉视口

layout viewport:
        手机上,为了容纳为桌面浏览器设计的网站,默认的布局视口的宽度远大于屏幕的宽度
        布局视口的出现,在极大程度上帮助了桌面网站到移动设备上的转移。
        可以通过document.documentElement.clientWidth来获取 
            在pc端,单独一个width为20%的元素最终拿到的值要根据初始包含块的width来决定,因为我们横向的布局都是
        按初始包含块开始填的,在移动端一样,不过我们这个时候应该叫它布局视口。
visual viewport:
        视觉视口语设备屏幕一样宽,并且它的css像素的数量会随用户的缩放而改变
        visual viewport的宽度可以通过window.innerWidth 来获取,
                但在Android 2, Oprea mini 和 UC 8中无法正确获取。

理想视口

我们分析知道:布局视口的默认宽度并不是一个理想的宽度,对于我们移动设备来说,最理想的情况是
用户刚进入页面时不再需要缩放。这就是为什么苹果和其他效仿苹果的浏览器厂商会引进理想视口!
只有是专门为移动设备开发的网站,他才有理想视口这一说。而且只有当你在页面中加入viewport的meta标签,
理想视口才会生效。
<meta name="viewport" content="width=device-width" />
这一行代码告诉我们,布局视口的宽度应该与理想视口的宽度一致

css像素能不能代表一个设备的大小?如果能代表,这个值确不确定?

        能               不确定
        
        屏幕大小之间的比较应该使用绝对单位:屏幕尺寸

物理像素与css像素比例的维护是谁在维护? 维护规则是什么?

        视觉视口(1.决定用户能看到什么;2.包住整个布局视口)
            物理像素:屏幕的分辨率
            css像素: 布局视口尺寸
        
        加name为viewport的meta标签
            像素比
        没有加name为viewport的meta标签
            布局视口尺寸 / 屏幕的分辨率

四个像素之间的关系

        设备独立像素
        物理/设备像素
        css像素
        位图像素
        
        物理像素和设备独立像素:
            像素比: 一个方向上占据一块屏幕所需要的物理像素的个数 /一个方向上占据一块屏幕所需要的设备独立像素的个数  =2;
        
        物理像素和位图像素:
            1:1的时候才能完美清晰的展示
        
        物理像素和css像素
            普通屏:1比1
            高清屏: 
                加name为viewport的meta标签
                    像素比
                没有加name为viewport的meta标签
                    布局视口尺寸 / 屏幕的分辨率
        
        css像素和设备独立像素
            没有加name为viewport的meta标签:没有关系
            加name为viewport的meta标签:可以认为css像素就是设备独立像素
            
        注意@2x 和 @3x图的使用

像素比 到底是什么

像素比: 一个方向上占据一块屏幕所需要的物理像素的个数 /一个方向上占据一块屏幕所需要的设备独立像素的个数  =2;

理想视口什么时候出现? 像素比什么时候有用?

加name为viewport的meta标签           

理想视口与设备之间的关系

理想视口的尺寸:设备独立像素所代表的值

不同浏览器在同一设备上理想视口的尺寸可能会不一样
一款浏览器在不同设备上理想视口的尺寸可能会不一样

思考视口的主线

    本质上三个视口的物理尺寸就是屏幕尺寸
        在不一样的情况下,各个视口所包含的css像素的个数是不一样的
        
        布局视口包含的css像素的个数
            980 1024 (浏览器不一样)
        
        视觉视口包含的css像素的个数
            默认情况(css像素和物理像素1:1)---> 屏幕的分辨率
            移动端浏览器初始化的时候(视觉视口必须要包住布局视口)  ---> 布局视口包含的css像素的个数就是视觉视口所包含的
            用户缩放(只影响视觉视口)
                放大---> 视觉视口包含的css像素的个数变少
                缩小---> 视觉视口包含的css像素的个数变多
        
        理想视口包含的css像素的个数
            设备独立像素所代表的值

缩放

pc端的缩放:会改变元素的布局(布局视口)

移动端(缩放只改变视觉视口内css像素的个数)
        放大
            使css像素变大,一个css像素所包含的物理像素的个数变多,元素变的更大
            视觉视口内,css像素的个数变少
        
        缩小
            使css像素变小,一个css像素所包含的物理像素的个数变少,元素变的更小
            视觉视口内,css像素的个数变多

怎么获取三个视口的值

布局视口:document.documentElement.clientWidth(基本没有兼容性问题)
视觉视口:window.innerWidth(有一点兼容性问题)
理想视口:screen.width(兼容性问题极大)

完美视口以及meta标签

过大的元素--->完美视口
    <meta name="viewport" content="width=device-width,initial-scale=1.0"  />

哪些操作会影响布局视口

width=320
initial-scale=2.0

等比问题

没有加name为viewport的meta标签
    一个相同css像素大小的区域在不同的设备是等比的,
            在不同的设备上占据的实际物理大小(英寸)不一样

加name为viewport的meta标签
    一个相同css像素大小的区域在不同的设备是不等比的,
        在不同的设备上占据的实际物理大小(英寸)是一样的
        
等比是不是一个必须的需要?
    百分百还原设计图 ---> 在不同设备上要等比(文字要完美清晰的展示)
                                            ----> 必须加meta标签(不等比)
                                                ---> 适配!!!!(加上meta标签后也得等比)      
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 移动端适配方案:1)viewport(scale=1/dpr)2)rem3)flex4)vm/vh一、什么是移动端...
    puxiaotaoc阅读 43,265评论 3 56
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,157评论 1 45
  • 一、meta标签的效果 移动端页面一般会在head头部添加如下meta标签。 该meta标签是否添加对页面渲染的影...
    nimw阅读 9,014评论 0 5
  • 我们的六组已被传为佳话,好些人都知道,坚持、协同、共进,时间验证了一切。同时还听到有同学说我们在一起还成立了...
    梅馨与生活阅读 2,656评论 2 3
  • 信則有,不信則無! 這句話很多人都以為是一句口頭禪, 其實, 祂蘊藏著非常深的人生道理, 信即是有, 為什麼這麼説...
    易倫茂阅读 2,870评论 0 1