rem em rpx px vw的区别

news2025/1/4 15:48:46

在前端开发中,rememrpxpxvw 是常用的单位,它们各自的用途和计算方式不同,适用于不同的场景。以下是它们的详细对比:


1. px (像素)

  • 定义:绝对单位,表示设备屏幕上的实际像素点。
  • 特点
    • 固定大小,与其他元素或视口无关。
    • 不会根据屏幕大小或分辨率变化。
  • 优点:适合需要精确布局的场景,例如边框宽度、图标大小等。
  • 缺点:在响应式设计中灵活性较差。
  • 示例
    div {
      width: 100px;
    }
    

2. em

  • 定义:相对单位,表示相对于父元素的 font-size
  • 特点
    • 值随父元素的 font-size 变化。
    • 如果父元素的 font-size 是 16px,1em = 16px
    • 累积效应:嵌套的 em 会基于父元素计算。
  • 优点:适合需要相对大小的场景,比如字体大小、内外边距等。
  • 缺点:嵌套使用时可能导致难以预测的值。
  • 示例
    /* 假设父元素 font-size: 16px */
    div {
      font-size: 1.5em; /* 1.5 × 16px = 24px */
    }
    

3. rem (root em)

  • 定义:相对单位,表示相对于根元素(<html>)的 font-size
  • 特点
    • 始终基于根元素的 font-size 计算。
    • 不会累积,避免了 em 的嵌套问题。
  • 优点:适合响应式布局,便于全局调整字体或尺寸。
  • 缺点:对根元素的 font-size 有依赖。
  • 示例
    /* 假设 html 的 font-size: 16px */
    div {
      font-size: 2rem; /* 2 × 16px = 32px */
    }
    

4. rpx (响应式像素)

  • 定义:相对单位,常用于小程序开发(如微信小程序),表示相对于屏幕宽度的单位。
  • 特点
    • 在屏幕宽度为 750px 时,1rpx = 1px
    • 根据设备屏幕宽度自动适配,屏幕宽度越宽,每个 rpx 占用的实际像素点越多。
  • 优点:适合多种设备的响应式设计,尤其在小程序中。
  • 缺点:仅适用于特定的开发环境(如微信小程序)。
  • 示例
    /* 小程序中的样式 */
    div {
      width: 750rpx; /* 宽度占满屏幕 */
    }
    

5. vw (视口宽度)

  • 定义:相对单位,表示视口宽度的百分比。
  • 特点
    • 1vw = 视口宽度的 1%
    • 会随着视口的大小变化。
  • 优点:适合全屏布局或自适应设计。
  • 缺点:在小屏幕上可能导致内容过小或过大。
  • 示例
    div {
      width: 50vw; /* 占视口宽度的 50% */
    }
    

对比表格

单位定义参考值优点缺点适用场景
px绝对单位固定像素点精确,简单不适应屏幕变化边框、图标等精确尺寸
em相对于父元素的字体大小父元素 font-size × 值灵活,继承性好嵌套时值难以预测字体大小、内外边距
rem相对于根元素的字体大小根元素 font-size × 值易于全局调整,避免嵌套问题依赖根元素的字体大小响应式字体、间距
rpx小程序中的相对单位屏幕宽度 / 750自动适配不同屏幕仅适用于小程序环境小程序中的响应式设计
vw视口宽度的百分比视口宽度 × 值自动适配视口变化小屏幕内容可能过小或过大全屏布局,宽度自适应

使用建议

  • px:用于需要固定像素的元素,例如边框、图标。
  • em:用于需要基于父元素字体大小变化的场景。
  • rem:用于响应式设计,全局字体大小或布局调整。
  • rpx:微信小程序中优先选择,适配多设备。
  • vw:适合全屏布局或需要相对视口宽度变化的场景。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Three.js教程004:坐标辅助器与轨道控制器

文章目录 坐标辅助器与轨道控制器实现效果添加坐标辅助器添加轨道控制器完整代码完整代码下载坐标辅助器与轨道控制器 实现效果 添加坐标辅助器 创建坐标辅助器: const axesHelper = new Three.AxesHelper(5);添加到场景中: scene.

【优选算法 分治】深入理解分治算法:分治算法入门小专题详解

快速排序算法 (1) 快速排序法 (2) 快排前后指针 (3) 快排挖坑法 颜色分类 题目解析 算法原理 算法原理和移动零非常相似 简述移动零的算法原理 cur 在从前往后扫描的过程中&#xff0c;如果扫描的数符合 f 性质&#xff0c;就把这个数放到 dest 之…

Qt5 中 QGroupBox 标题下沉问题解决

我们设置了QGroupBox 样式之后,发现标题下沉了,那么如何解决呢? QGroupBox {font: 12pt "微软雅黑";color:white;border:1px solid white;border-radius:6px; } 解决后的效果 下面是解决方法: QGroupBox {font: 12pt "微软雅黑";color:white;bo…

sentinel-请求限流、线程隔离、本地回调、熔断

请求限流&#xff1a;控制QPS来达到限流的目的 线程隔离&#xff1a;控制线程数量来达到限流的目录 本地回调&#xff1a;当线程被限流、隔离、熔断之后、就不会发起远程调用、而是使用本地已经准备好的回调去提醒用户 服务熔断&#xff1a;熔断也叫断路器&#xff0c;当失败、…

体验Cursor一段时间后的感受和技巧

用这种LLM辅助的IDE一段时间了&#xff0c;断断续续做了几个小项目了&#xff0c;总结一下整体的感受和自己的一些使用经验。 从Cursor开始又回到Cursor 第一个真正开始使用的LLM的辅助开发IDE就是Cursor&#xff0c;Github的Copilot支持尝试过&#xff0c;但是并没有真正的在…

【数据仓库】hadoop3.3.6 安装配置

文章目录 概述下载解压安装伪分布式模式配置hdfs配置hadoop-env.shssh免密登录模式设置初始化HDFS启动hdfs配置yarn启动yarn 概述 该文档是基于hadoop3.2.2版本升级到hadoop3.3.6版本&#xff0c;所以有些配置&#xff0c;是可以不用做的&#xff0c;下面仅记录新增操作&#…

宽带、光猫、路由器、WiFi、光纤之间的关系

1、宽带&#xff08;Broadband&#xff09; 1.1 宽带的定义宽带指的是一种高速互联网接入技术&#xff0c;通常包括ADSL、光纤、4G/5G等不同类型的接入方式。宽带的关键特点是能够提供较高的数据传输速率&#xff0c;使得用户可以享受到稳定的上网体验。 1.2 宽带的作用宽带是…

[2025] 如何在 Windows 计算机上轻松越狱 IOS 设备

笔记 1. 首次启动越狱工具时&#xff0c;会提示您安装驱动程序。单击“是”确认安装&#xff0c;然后再次运行越狱工具。 2. 对于Apple 6s-7P和iPad系列&#xff08;iOS14.4及以上&#xff09;&#xff0c;您应该点击“Optinos”并勾选“允许未经测试的iOS/iPadOS/tvOS版本”&…

Linux SVN下载安装配置客户端

参考&#xff1a; linux下svn服务器搭建及使用&#xff08;包含图解&#xff09;_小乌龟svn新建用户名和密码-CSDN博客 1.ubuntu安装svn客户端 “subversion” sudo apt-get update sudo apt-get install subversion 查看安装的版本信息&#xff0c;同时看是否安装成功 s…

【Windows】Windows系统查看目录中子目录占用空间大小

在对应目录下通过powershell命令查看文件夹及文件大小&#xff0c;不需要管理员权限。 以下为方式汇总&#xff1a; 方式1&#xff08;推荐&#xff0c;免费下载使用&#xff0c;界面友好&#xff09;&#xff1a; 使用工具以下是一些第三方工具treesize_free https://www.ja…

【论文阅读笔记】IceNet算法与代码 | 低照度图像增强 | IEEE | 2021.12.25

目录 1 导言 2 相关工作 A 传统方法 B 基于CNN的方法 C 交互方式 3 算法 A 交互对比度增强 1)Gamma estimation 2)颜色恢复 3)个性化初始η B 损失函数 1)交互式亮度控制损失 2)熵损失 3)平滑损失 4)总损失 C 实现细节 4 实验 5 IceNet环境配置和运行 1 下载…

L25.【LeetCode笔记】 三步问题的四种解法(含矩阵精彩解法!)

目录 1.题目 2.三种常规解法 方法1:递归做 ​编辑 方法2:改用循环做 初写的代码 提交结果 分析 修改后的代码 提交结果 for循环的其他写法 提交结果 方法3:循环数组 提交结果 3.方法4:矩阵 算法 代码实践 1.先计算矩阵n次方 2.后将矩阵n次方嵌入递推式中 提…

小白投资理财 - 看懂 PE Ratio 市盈率

小白投资理财 - 看懂 PE Ratio 市盈率 什么是 PE RatioPE 缺陷PE 优点总结 无论是在菜市还是股票市场&#xff0c;每个人都想捡便宜&#xff0c;而买股票就像市场买菜&#xff0c;必须货比三家&#xff0c;投资股票最重要就是要知道回本时间要多久&#xff0c;市场上很多时候散…

python利用selenium实现大麦网抢票

大麦网&#xff08;damai.cn&#xff09;是中国领先的现场娱乐票务平台&#xff0c;涵盖演唱会、音乐会、话剧、歌剧、体育赛事等多种门票销售。由于其平台上经常会有热门演出&#xff0c;抢票成为许多用户关注的焦点。然而&#xff0c;由于票务资源的有限性&#xff0c;以及大…

SQL-leetcode-183. 从不订购的客户

183. 从不订购的客户 Customers 表&#xff1a; -------------------- | Column Name | Type | -------------------- | id | int | | name | varchar | -------------------- 在 SQL 中&#xff0c;id 是该表的主键。 该表的每一行都表示客户的 ID 和名称。 Orders 表&#…

充电桩语音提示芯片方案-支持平台自定义语音NV128H让充电更便捷

随着工业化与城市化进程的加速推进&#xff0c;传统燃油汽车的数量急剧攀升&#xff0c;这直接导致了石油资源的过度开采与消耗。石油&#xff0c;作为不可再生的化石燃料&#xff0c;其储量日益枯竭&#xff0c;价格波动频繁&#xff0c;给全球能源安全带来了前所未有的挑战。…

Android 旋转盘导航栏

1.直接上源码&#xff1a; package com.you.arc;import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Point; import android.graphics.RectF; import android.support…

手搓一个ChatUI需要分几步

只关注项目代码的同学可以直接跳转目录中的正文部分&#xff0c;查看项目仓库和功能介绍。 引言 Chatbot的UI界面设计&#xff0c;是和传统软件不同的&#xff1a;都是当面一个简洁的对话框&#xff0c;框里预备着热乎的工具&#xff0c;可以随时更新。 像我这样做工的牛马&a…

低代码开发深度剖析:JNPF 如何引领变革

在当今数字化转型加速的时代&#xff0c;低代码开发已成为众多企业提升效率、降低成本的关键利器。它打破了传统开发模式的高门槛和冗长流程&#xff0c;让应用开发变得更加高效、灵活与普惠。 低代码开发的核心优势 低代码开发平台通过可视化的操作界面&#xff0c;减少了对…

uniapp实现APP、小程序与webview页面间通讯

需求&#xff1a; 1、需要在Uniapp开发的APP或小程序页面嵌入一个H5网页&#xff0c;需要拿到H5给APP传递的数据。 2、并且这个H5是使用vuevant开发的。&#xff08;其实跟使用uniapp开发H5一样&#xff09; 实现步骤&#xff1a; 1、首先需要兼容多端和App端&#xff0c;因…