当前位置: 首页 > news >正文

CSS尺寸单位详解(rpx、px、pt、em、rem、%、vh、vw的区别)

设备物理像素
pt:屏幕宽、分辨率,其中每一小份就是1pt。

css 像素

px:pc 机大屏幕显示器,1px约等于0.76个物理像素

手机小屏幕:以IPhone6为标准,物理像素750,分辨率375 1px = 2pt。

px 也是一个相对单位
px 是为了平衡一个元素在PC上显示的大小与在手机上显示的大小尽量一致而制定的。

手机屏幕大小不一,差异较大,所以反而不希望一个元素在所有手机上显示一样大。而是希望能够自动等比缩放。所以移动端不用px。

通常PC端大屏浏览器的网页,使用px 单位比较多。
移动端少用,因为 px 的长度相对固定,无法根据大小不一的移动端设备自适应改变大小。


rem:  以网页根元素<html>元素上设置的默认字体大小为1rem 默认 1rem=16px

可以实现响应式布局。
响应式布局指的是元素大小能根据屏幕大小随时变化。
所有以 rem 为单位的位置、大小都跟着根元素字体大小而变化
所以只要在屏幕大小变化的时候改变根元素的 font-size 就可以了。


em:  父元素的字体大小为1em 用的不多。 
相对于父元素字体大小的单位,多层嵌套可能导致累积计算。
 

rpx:  小程序专用

以iPhone 为标准,物理像素750,分辨率 375。无论屏幕大小,都将屏幕分成750份,每份就是1rpx, 1rpx=0.5px=1pt

优点:通过 rpx 设置元素和字体的大小,小程序在不同尺寸的屏幕下,可以实现自动适配。


vm/vh:  CSS3 新特性。

vh: 无论视口高度多少,都将视口高均分为100份,每一小份就是1vh,所以,也是相对单位,可随视口大小变化而自动变化。

vw:无论视口宽度多少,都将视口宽均分100份,每一小份就是1vw,所以也是相对单位,可随视口大小变化而自动变化。

vw 和 vh 本质就是% 

这里视口指的是浏览器内部的可视区域大小。

%:  通常认为子元素的百分比完全相对于直接父元素,但是,不总是相对于父元素的对应属性值。

子元素的 top 和 bottom 如果设置百分比,则相对于直接非 static 定位(默认定位)的父元素高度。

子元素的left 和 right 如果设置百分比,则相对于直接非 static 定位父元素的宽度。

子元素的 padding/margin 如果设置百分比,不论是垂直方向或者水平方向,都相对于直接父亲元素的padding/margin,与父元素的height有关。

因为 % 不总是相对于父元素的宽高或者屏幕大小,所以开发少用。

相关文章:

  • pod 基础 2
  • 惠普83752A合成扫频器/信号源0.01-20GHz
  • imgaug库指南(四):从入门到精通的【图像增强】之旅
  • flutter学习-day22-使用GestureDetector识别手势事件
  • 使用react+vite开发项目时候,部署上线后刷新页面无法访问解决办法
  • 【响应式编程-03】Lambda表达式底层实现原理
  • 【INTEL(ALTERA)】Intel Agilex7 设备的外设图像比特流大小是多少?
  • Kafka集群详解
  • 电缆厂 3D 可视化管控系统 | 图扑数字孪生
  • 【React系列】受控非受控组件
  • 接口功能测试策略
  • 2024年全球网络安全预测报告
  • DBeaver配置类Navicat显示字段是否非空
  • MySQL模糊查询详解
  • 基于帝国主义竞争算法优化的Elman神经网络数据预测 - 附代码
  • [deviceone开发]-do_Webview的基本示例
  • Angular 4.x 动态创建组件
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • Consul Config 使用Git做版本控制的实现
  • CSS居中完全指南——构建CSS居中决策树
  • IP路由与转发
  • Iterator 和 for...of 循环
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • MobX
  • Redis学习笔记 - pipline(流水线、管道)
  • yii2中session跨域名的问题
  • 大数据与云计算学习:数据分析(二)
  • 基于HAProxy的高性能缓存服务器nuster
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • Mac 上flink的安装与启动
  • 带你开发类似Pokemon Go的AR游戏
  • #Ubuntu(修改root信息)
  • (2)STM32单片机上位机
  • (arch)linux 转换文件编码格式
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (NSDate) 时间 (time )比较
  • (超详细)语音信号处理之特征提取
  • (转)德国人的记事本
  • (转)甲方乙方——赵民谈找工作
  • .net Application的目录
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .NET Core 中插件式开发实现
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • @RequestMapping处理请求异常
  • [ 蓝桥杯Web真题 ]-布局切换
  • [Android Pro] listView和GridView的item设置的高度和宽度不起作用
  • [BZOJ 4598][Sdoi2016]模式字符串
  • [Flutter]打包IPA
  • [Hive] INSERT OVERWRITE DIRECTORY要注意的问题
  • [IE技巧] IE 中打开Office文件的设置
  • [js]js设计模式小结