深入理解CSS中em, rem, ex区别,及使用技巧

2023-11-15

CSS 中常见尺寸

单位 描述
% 百分比
in 英寸
cm 厘米
mm 毫米
ex 一个 ex 是一个字体的 x-height。 (x-height 通常是字体尺寸的一半。)
pt 磅 (1 pt 等于 1/72 英寸)
pc 12 点活字 (1 pc 等于 12 点)
px 像素 (计算机屏幕上的一个点)
em 1em 等于当前的字体尺寸。
2em 等于当前字体尺寸的两倍。
例如,如果某元素以 12pt 显示,那么 2em 是24pt。
在 CSS 中,em 是非常有用的单位,因为它可以自动适应用户所使用的字体。
rem rem表示“Root EM”,字面上指的是根元素的em大小。
在Web文档的上下文中,根元素就是你的html元素。
如果没有重置,html默认font-size:16px。

emrem 比较

单位 特点
em 相对单位em是相对于元素本身的字体大小的
在css中唯一例外的是font-size属性,它的emex值指的是相对父元素的字体大小
rem 集相对大小和绝对大小的优点于一身,
通过它既可以做到只修改根元素就成比例地调整所有字体大小,
又可以避免(使用em)字体大小逐层复合的连锁反应

em 缺点

  1. em 的值并不是固定的;
  2. em 会继承父级元素的字体大小。

举例

body{
  font-size: 10px;
}

h2{
  display: block;
  width: 80%;
  font-size: 1.5em;
  margin: 0.5em;
}
h2的字体大小继承了 body字体, 10px * 1.5 = 15px
h2margin属性则是相对于本元素字体大小: 15px * 0.5 = 7.5px
如下图所示

图片描述


rem 使用小技巧

  1. body选择器中声明Font-size=62.5%;
  2. 将你的原来的px数值除以10,然后换上rem作为单位;

参考文章链接

css中单位em和rem
彻底弄懂css中单位px和em,rem的区别

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

深入理解CSS中em, rem, ex区别,及使用技巧 的相关文章

  • TypeScript基础入门 - 枚举 - 联合枚举与枚举成员的类型

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 转发 TypeScript基础入门 枚举 联合枚举与枚举成员的类型 项目实践仓库 https github com durban89 typescript demo git
  • Unity中添加按钮的方式

    方式一 使用 GUILayout 自动布局 用 GUILayout Button 来创建按钮 会自动的在屏幕的右上角按列排列按钮 这种方式添加的按钮大小和位置都无法改变 为默认值 private void OnGUI if GUILayou
  • f5负载均衡配置文件服务器,f5 负载均衡 dns 服务器 配置

    f5 负载均衡 dns 服务器 配置 内容精选 换一换 查询负载均衡器状态树 可通过该接口查询负载均衡器关联的监听器 后端云服务器组 后端云服务器 健康检查 转发策略 转发规则的主要信息 了解负载均衡器下资源的拓扑情况 GET v2 pro
  • mongodb入门操作

    mongodb入门操作 简单了解一下NoSql NoSql NoSql not only sql 是非关系型数据库系统的统称 它用于超大规模的数据的存储 提供有限的查询功能 mongodb mongodb是一个基于分布式文件存储的数据库系统
  • Rabbit学习笔记

    引言 什么是MQ MQ Message Quene 消息队列 通过典型的生产者和消费者模型不断向消息队列中生产消息 消费者不断从队列中获取消息 因为消息的生产和消费是异步的 而且只关系消息的发送和接收 没有业务逻辑的侵入 轻松地实现系统间解
  • IMU的ROS调试开发工具包:imu_tools

    目录 imu tool包 问题 参数配置便利性问题 实例 调试microstrain 3dm gx5 25 imu 问题 发布的imu姿态与实际imu姿态不一致问题 imu tool包 http wiki ros org imu tools
  • Java串口通信-JSerialComm

    Java串口通信 JSerialComm 目前网上的Java串口通信主要使用RXTXComm 但是这个库已经很久没有更新 最近的更新似乎在2012年 并且与JavaFX集成打包时会出现BUG JSerialComm是一个较新的串口通信库 其
  • 深度学习——权重的初始值

    权重的初始值 权重的初始值十分重要 关系到神经网络的学习是否成功 可以将权重初始值设置为0吗 为了抑制过拟合 提高泛化能力 采用权值衰减的方法 它是一种以减小权重参数的值为目的进行学习的方法 在误差反向传播法中 所有的权重值都会进行相同的更
  • truss 命令

    truss 命令用途跟踪进程的系统调用 动态装入的用户级函数调用 接收的信号和造成的机器故障 语法truss f c a l d D e i t x Syscall s Signal m Fault r w FileDescriptor u
  • gitlab 搭建与使用

    gitlab 搭建与使用 参考博客链接 https blog csdn net weixin 38912024 article details 82383312 https blog csdn net hao5335156 article
  • JasperReport6.x 提示:No markuo processor factory specified for ““ markup

    Jaspersoft Studio 提示如下错误信息 No markuo processor factory specified for markup 解决方法 jrxml 切换至源码模式 查询makeup 属性字段标签 将内容编辑为 no
  • ssh: connect to host port 22: No route to host问题

    笔记本没电自动关机 但是虚拟机是开启状态 开机之后发现连接不上其中一个虚拟机 出现了ssh connect to host port 22 No route to host问题提示 后来检查防火墙和网都没有问题 使用ifconfig命令后发
  • ie 使用window.open页面报错

    window open url 打开新页面是如果要通过地址栏来传参要注意 var qt qt teachMaterialDealInfo bookids selectBooks qt teachMaterialDealInfo writer
  • vba文字型的值转换成数值类型

    今天在做表的时候 发现数组中提取出来的是文字类型 需要转换成数值类型 网上搜索到了字符转换的方法 超级实用 记录下来 如果用mid函数提取的字符范围增加 可参照VBA中的帮助 类型转换函数 CBool expression CByte ex
  • 正则表达式匹配数字、字母和汉字等各类汇总

    最近在开发中遇到一个需求是只匹配字母和汉字 于是在网上找了一个比较全的记录一下 日后再用 正则表达式来匹配规范一段文本中的特定种类字符 下面是对常用的正则匹配做了一个归纳整理 1 匹配中文 u4e00 u9fa5 2 英文字母 a zA Z
  • unity code-动作系统Animator

    AnimatorOverrideController是运行时版本 可以运行时更改controller AnimatorController是编辑器版本 不能运行时修改 所以运行时只能通过用AnimatorOverrideController
  • 自动化测试框架之RobotFramework进行接口测试

    首先在进行接口测试前分析一下如何进行接口请求的发送或进行接口请求发送包含哪些内容 那么就需要对http请求包含的内容 请求行 协议版本 URL 请求方法 请求头 host content Type Accept等 请求体 发送请求需要带的参
  • 关于SSM框架体会和小结

    前言 使用SSM spring SpringMVC和Mybatis 已经有三个多月了 项目在技术上已经没有什么难点了 基于现有的技术就可以实现想要的功能 当然肯定有很多可以改进的地方 之前没有记录SSM整合的过程 只写了个搭建Maven过程
  • 2021-02-08

    学习目标 综合练习题 10道经典题目 天池龙珠计划SQL训练营 学习内容 10道sql练习题 学习产出 1 说实话自己写不全 还是翻看了答案才知道 2 自己装了sql建库建表 导入数据特别慢 电脑配置不够
  • 【Vue学习笔记】- 事件的基本使用

    总结 1 使用 v on xxx 或 xxx 绑定事件 其中xxx是事件名 2 事件的回调需要配置在methods对象中 最终会在vm上 3 methods中配置的函数 不要用箭头函数 否则this就不是vm了 4 methods中配置的函

随机推荐