浏览器视口

目录

  • css单位
    • 相对单位
    • 绝对单位
  • 像素分类
    • 物理像素
    • 逻辑像素
    • css像素
  • DPR
  • PPI
  • 浏览器视口
    • 布局视口
    • 视觉视口
    • 理想视口

css单位

在css中我们会使用到许多单位,如px,em,rem,vw,vh等等
整体上,我们可以将它们分成两类

相对单位

相对单位即本身的值是需要依靠其他元素计算得出的
如rem,em都需要依赖font-size属性值来计算结果
使用相对单位的好处是经过仔细规划,可以使文本或元素的大小在不同页面大小下能相适应

绝对单位

绝对单位不需要依赖其他属性来计算自我的值,他们的值通常被认为是相同的大小
即1px默认总是占用一个屏幕像素的大小
常见的绝对单位有px,pt,cm,in等

像素分类

我们知道,一张图片通常是由像素构成
像素也是影响显示的基本单位
更深入的来说,像素单位可以有三种像素的名称

物理像素

又称为设备像素,即设备本身的像素,譬如屏幕的分辨率,代表了这块屏幕是由多少个像素组成的
无法通过后天程序编程等方式更改

逻辑像素

因为每个人的屏幕分辨率不同,所以同样大小的元素在不同分辨率下的显示结果并不相同
导致开发者必须花费很多时间来进行适配
而逻辑像素就是对设备像素的一层抽象
逻辑像素的大小可以通过操作系统设置分辨率来更改

css像素

而css像素就是我们平常在css中写的像素px
默认情况下是等于我们的逻辑像素

DPR

即设备像素比
2010年的时候iPhone4推出,同时也带来了Retina屏幕
在Retina屏幕中,一个逻辑像素对应着多个物理像素,这个比例被称之为DPR
DPR值越高,显示的效果越好
可以通过window.devicePixelRatio获取当前屏幕的DPR值
DPR

PPI

即每英寸像素,通常用来表示一英寸大小中能放下多少个像素
多用于工业领域

浏览器视口

在一个浏览器中,我们所看到的区域就是浏览器的视口
视口能划分成以下几种情况
值得注意的是,在pc端不存在这种情况,下面三种视口只适用于移动端

布局视口

在移动端浏览器中,网页会被浏览器放在一个长为980px的盒子中布局
因为移动端本身的网页窗口往比较小,所以浏览器为了能把980px大小的内容都放入窗口中就会对盒子进行缩小
我们将相对于980px布局的视口称之为布局视口
布局窗口

视觉视口

即移动端浏览器能看到的区域,这个区域的大小通常跟设备的逻辑像素相关联
视觉窗口

理想视口

当布局视口的大小等于视觉视口的大小时,我们就称之为理想视口
我们可以通过缩放布局视口来达到理想视口
我们可以通过修改meta元素的viewprot属性来控制布局视口
以下是一个简单的例子

<meta name="viewport" content="width=device-width, initial-scale=1.0">

在content中我们可以设置以下几个值

可能的附加值描述
width一个正整数,或者字符串 device-width定义 viewport 的宽度
initial-scale一个 0.0 和 10.0 之间的正数定义设备宽度与 viewport 大小之间的缩放比例
height一个正整数,或者字符串 device-height定义 viewport 的高度。未被任何浏览器使用
maximum-scale一个 0.0 和 10.0 之间的正数定义缩放的最大值,必须大于等于 minimum-scale,否则表现将不可预测
minimum-scale一个 0.0 和 10.0 之间的正数定义缩放的最小值,必须小于等于 maximum-scale,否则表现将不可预测
user-scalableyes 或者 no默认为 yes,如果设置为 no,将无法缩放当前页面。浏览器可以忽略此规则

当width或height设置了device-width时,他们的值就等于了布局视口中的值了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/22819.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows下安装consul、springboot整合consul

Spring Cloud Consul通过自动配置和绑定到Spring Environment和其他Spring编程模型习语&#xff0c;为Spring Boot应用程序提供Consul集成。通过一些简单的注解&#xff0c;可以快速启用和配置应用程序内的常用模式&#xff0c;并使用Hashicorp的Consul构建大型分布式系统。提供…

Elasticsearch--查询(nested、join)

nested 嵌套类型 数据的某个值是json、object对象&#xff1b;不再是简单的数据类型&#xff0c;或者简单数据类型的数组&#xff1b;那么还用之前的查询方式就有问题了。因为ES在存储复杂类型的时候会把对象的复杂层次结果扁平化为一个键值对列表 。此时&#xff0c;需要用n…

MyBatis 中如何使用缓存

MyBatis 中如何使用缓存 MyBatis 是一个基于 Java 的持久层框架&#xff0c;它提供了多种方式来使用缓存&#xff0c;包括一级缓存和二级缓存。本文将介绍 MyBatis 中常见的缓存使用方式及其使用方法。 1. 一级缓存 MyBatis 中的一级缓存是指 SqlSession 的缓存&#xff0c;它…

2023机器人操作系统(ROS)暑期学校预热-线下时间/地点-(转发)

原文地址&#xff1a; https://mp.weixin.qq.com/s/McjBgCpecL6OMgpcrPyY_Q 中国机器人操作系统&#xff08;ROS&#xff09;暑期学校自2015年举办以来&#xff0c;被中国机器人业界和学界&#xff0c;以及ROS开源基金会誉为除了ROSCon之外规模最大、参与人数最多、最成功的RO…

【JAVA】与数字相关的类,Number Math 类

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️初识JAVA】 文章目录 前言数据类型Number类介绍数据格式化实例 Math类介绍静态常量实例 前言 为了解决对数字、日期和系统设置进行处理的困难&#xff0c;如&#xff1a;一些数字&数学问题、随机…

React中 Real DOM 和 Virtual DOM 的区别?优缺点?

一、是什么 Real DOM&#xff0c;真实 DOM&#xff0c;意思为文档对象模型&#xff0c;是一个结构化文本的抽象&#xff0c;在页面渲染出的每一个结点都是一个真实 DOM 结构&#xff0c;如下&#xff1a; Virtual Dom&#xff0c;本质上是以 JavaScript 对象形式存在的对 DOM …

【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK

知识不是单独的&#xff0c;一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏&#xff1a;Visual Studio。 编号内容1【Visual Studio】在 Windows 上使用 Visual Studio 构建 VTK2【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK3【VTK】VTK 显…

OpenCv色彩空间

目录 一、RGB 二、图像处理入门 三、色彩空间的转换 一、RGB 在表示图像时&#xff0c;有多种不同的颜色模型&#xff0c;但最常见的是红、绿、蓝(RGB) 模型RGB 模型是一种加法颜色模型&#xff0c;其中原色 (在RGB模型中&#xff0c;原色是红色 R、绿色 G 和蓝色 B)混合在…

打工人如何利用自动化实现职场突围

作为优秀的打工人&#xff0c;如果可以将办公中的重复性、繁琐性、低效性工作自动化&#xff0c;那么将省去许多日常工作。许亚宁就是这样一个优秀的打工人&#xff0c;善于使用各类自动化工具来提升工作效率&#xff0c;上周的直播他分享了如何利用自动化工具&#xff0c;实现…

Qt,day4

闹钟 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);this->setWindowTitle("闹钟");this->setWindowIcon(QIcon("D:\\HQYJRJ\\QT\\day1\\…

运输层(TCP运输协议相关)

运输层 1. 运输层概述2. 端口号3. 运输层复用和分用4. 应用层常见协议使用的运输层熟知端口号5. TCP协议对比UDP协议6. TCP的流量控制7. TCP的拥塞控制7.1 慢开始算法、拥塞避免算法7.2 快重传算法7.3 快恢复算法 8. TCP超时重传时间的选择8.1 超时重传时间计算 9. TCP可靠传输…

Linux中ssh登陆慢的两种原因

useDNS配置导致登陆慢 如果ssh server的配置文件&#xff08;通常是 /etc/ssh/sshd_config &#xff09;中设置 useDNS yes &#xff0c;可能会导致 ssh 登陆卡住几十秒。将该配置项设为 no&#xff0c;然后重启 ssh 服务&#xff0c;再次登陆就恢复正常。将useDND配置为yes会…