px、em、rem的区别

article/2025/9/19 5:19:09

三者区别:

在css中单位长度用的最多的是px、em、rem,这三个的区别是:

  • 一、px是固定的像素,一旦设置了就无法因为适应页面大小而改变。
  • 二、em和rem相对于px更具有灵活性,他们是相对长度单位,意思是长度不是定死了的,更适用于响应式布局。
  • 三、em是相对于其父元素来设置字体大小的,一般都是以<body>的“font-size”为基准。这样就会存在一个问题,进行任何元素设置,都有可能需要知道他父元素的大小。而Rem是相对于根元素<html>,这样就意味着,我们只需要在根元素确定一个参考值。

总之:对于em和rem的区别一句话概括:

em相对于父元素,rem相对于根元素

一、em 

(一)子元素字体大小的em是相对于父元素字体大小

(二)元素的width/height/padding/margin用em的话是相对于该元素的font-size

上代码:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div {font-size: 40px;width: 7.5em;  /* 300px */height: 7.5em;background-color: gray;}p {font-size: 0.5em; /* 20px */width: 7.5em;     /* 150px */height: 7.5em;color: blue;background-color: tan;margin: 0;}span {font-size: 0.5em;width: 7em;height: 6em;background-color: #fff;display: block;color: red;}</style>
</head><body><div>父元素div<p>子元素p<span>孙元素span</span></p></div>
</body></html>

 结果如图:

 父元素div:

 子元素p:

 孙元素span:

二、rem 

rem是全部的长度都相对于根元素,根元素是谁?<html>元素。通常做法是给html元素设置一个字体大小,然后其他元素的长度单位就为rem。

上代码:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>html {font-size: 10px;}div {font-size: 4rem;  /* 40px */width: 20rem;     /* 200px */height: 20rem;color: black;background-color: darkcyan;}p {font-size: 2rem;  /* 20px */width: 10rem;height: 10rem;color: blue;background-color: purple;margin: 0;}span {font-size: 1.5rem;width: 7rem;height: 6rem;display: block;color: red;background-color: sandybrown;}</style>
</head><body><div>父元素div<p>子元素p<span>孙元素span</span></p></div>
</body></html>

 结果如图:

 父元素div

 子元素p:

  孙元素span:

总结一

在做项目的时候用什么单位长度取决于你的需求,我一般是这样的:

1、像素(px):用于元素的边框或定位。

2、em/rem:用于做响应式页面,不过我更倾向于rem,因为em不同元素的参照物不一样(都是该元素父元素),所以在计算的时候不方便,相比之下rem就只有一个参照物(html元素),这样计算起来更清晰。

总结二

1、rem 和 em 单位是由浏览器基于你的设计中的字体大小计算得到的像素值。

2、em 单位基于使用他们的元素的字体大小。

3、rem 单位基于 html 元素的字体大小。

4、em 单位可能受任何继承的父元素字体大小影响

5、rem 单位可以从浏览器字体设置中继承字体大小。

6、使用 em 单位应根据组件的字体大小而不是根元素的字体大小。

7、在不需要使用em单位,并且需要根据浏览器的字体大小设置缩放的情况下使用rem。

8、使用rem单位,除非你确定你需要 em 单位,包括对字体大小。

9、媒体查询中使用 rem 单位

10、不要在多列布局中使用 em 或 rem -改用 %。

11、不要使用 em 或 rem,如果缩放会不可避免地导致要打破布局元素。

需要注意的是:

样式的reset中需先设置html字体的初始化大小为50px,这是为了防止js被禁用或者加载不到或者执行错误。

而做的兼容样式的reset中需先设置body字体的初始化大小为16px,这是为了让body内的字体大小不继承父级html元素的50px,而用系统默认的16px


http://chatgpt.dhexx.cn/article/AToGCdik.shtml

相关文章

rem和em的区别

一、 rem的特点&#xff1a; 1、rem的大小是根据html根目录下的字体大小进行计算的。 2、当我们改变根目录下的字体大小的时候&#xff0c;下面字体都改变。 3、rem不仅可以设置字体的大小&#xff0c;也可以设置元素宽、高等属性。 二、em的特点&#xff1a; 1、字体大小…

em与rem的区别

在css中px、em、rem&#xff0c;这三个的区别是&#xff1a; px是固定像素&#xff0c;一旦设置了就无法因为适应页面而改变。em是rem相对于px更具有灵活性&#xff0c;他们是相对于长度单位的变化而变化&#xff0c;更适应于响应式布局。 em相对于父元素 rem相对于根元素 e…

用通俗易懂的方式告诉你什么是EM算法

一、EM简介 EM(Expectation Mmaximization) 是一种迭代算法&#xff0c; 用于含隐变量(Latent Variable) 的概率模型参数的极大似然估计&#xff0c; 或极大后验概率估计 EM算法由两步组成&#xff0c; 求期望的E步&#xff0c;和求极大的M步。 EM算法可以看成是特殊情况下计算…

em单位的理解和使用

什么是em单位&#xff1f; em是一个相对的度量单位&#xff0c;对于浏览器来说&#xff0c;1em16px&#xff0c;16px为浏览器的默认字体大小。 为什么说它是一个相对的度量单位呢&#xff1f;下面用px和em分别做对比举例子&#xff1a; <style> #p1{color: red;font-si…

em和rem的区别

在css中&#xff0c;用的最多的就是px&#xff0c;em&#xff0c;rem三个长度单位&#xff0c;这三个单位的区别就是&#xff1a; px是固定的单位长度&#xff0c;一旦设置了就无法随页面的大小而适应改变。em是相对长度单位&#xff0c;比px更具灵活性&#xff0c;em的长度是…

一种止盈止损方式

1.核心代码 2.原理 开仓后根据开仓价格设置 4.5% 止盈平仓15% 20% 止盈平仓75% 4% 止损平仓100% 指标出场信号 平仓100% 3.PS 感觉止盈完全没必要&#xff0c;跑出来的结果只是胜率提高了&#xff0c;最终盈利结果没有提高 原文&#xff1a;一种止盈止损方式 - 苏慕白的博客…

止损的意义是什么?我们为何要止损这个操作?

止损的意义是什么&#xff1f;我们为何要止损这个操作&#xff1f;我想很多人并没有深入思考这个问题&#xff0c;我猜测绝大数人都会说为了风险控制&#xff0c;无条件执行&#xff0c;割断亏损让利润奔跑&#xff0c;这类的话&#xff0c;其实不然。 我觉得一个操作如果内心…

股票编程交易接口怎样自动设置止损?

目前随着国内二级股市已处于相对较高的水平&#xff0c;但是对于高净值的用户来说&#xff0c;在量化投资市场上使用股票编程交易接口系统上具有低波动性和自动交易的定量对冲投资模型体系&#xff0c;包括了一些高性价比、大型基金和长期投资的资产品种&#xff0c;所以大家在…

止盈止损学习笔记

止损的重要性交易所订单&#xff0c;包括限价单和市价单。上交所只有两种&#xff0c;最优五档剩余撤销&#xff0c;最优五档剩余转限价&#xff0c;深圳有本方最优&#xff0c;对手方最优&#xff0c;全额成交或撤销申报&#xff0c;最优五档剩余撤销&#xff0c;即时成交剩余…

外汇天眼:新手炒外汇止损止盈技巧有哪些?如何设置止损止盈?

在外汇交易中&#xff0c;关于止盈、止损的技巧总是频频被提及&#xff0c;然而很多朋友发现&#xff0c;即使看过了这么多道理&#xff0c;结果还是不会设置止盈止损&#xff0c;不会做交易。怎么办&#xff1f; 今天这边就将外汇交易中常见的止盈止损一些知识揉碎了、掰开了…

及时止损,及时止损,及时止损

loonggg 读完需要 5分钟 速读仅需 2 分钟 今天是日更生财日历笔记的第三天。 今天日历上主要分享了一个做短视频 MCN 机构亏掉 500 万元的案例经验。分享的经验主要是如下几点&#xff1a; 面对红海的 MCN &#xff0c;没有资源和背景&#xff0c;很难做起来&#xff1b;在三四…

快期v2服务器条件单能修改吗,快期V2如何设置止损止盈单

做过交易的朋友都知道止损止盈是非常重要的&#xff0c;尤其是在行情波动剧烈的时候&#xff0c;设置止损止盈单是保护自己盈利的非常重要的手段之一。那在快期V2上面如何设置止损止盈单呢?下面就是小编给大家整理的相关内容~ 一、登录软件 输入期货账号和交易密码并点击登录&…

趋势EA- 每单固定止损止盈

本EA策略是趋势交易-EA&#xff0c;一次一单 每次带固定小止损&#xff0c;入仓试错&#xff0c;绝不扛单&#xff0c;市场证明你是错的后立即止损&#xff0c;只抓取趋势行情顺势而为&#xff0c;小止损大止盈。MQL5信号统计&#xff1a; 【注意】&#xff1a;截断亏损让利润…

及时止损真的正确吗?

1、遇见烂人及时止损&#xff0c;不要紧张&#xff0c;只要你心存善念&#xff0c;就是最大的幸运。 2、人生在世一定要学会控制&#xff0c;及时止损有勇气回头。 3、人要懂得及时止损。 4、有些人&#xff0c;该断就断&#xff0c;及时止损。 5、既要学会全力以赴&#x…

Backtrader量化平台教程-跟踪止损单(十)

AD&#xff1a;&#xff08;本人录制的backtrader视频课程&#xff0c;大家多多支持哦~ https://edu.csdn.net/course/detail/9040&#xff09; 无意中发现了一个巨牛的人工智能教程&#xff0c;忍不住分享一下给大家。教程不仅是零基础&#xff0c;通俗易懂&#xff0c;而且非…

趋势一次一单EA,不加仓不网格,每单带止损止盈,风险可控

趋势一次一单-EA的核心&#xff1a; 策略带有移动的止损止盈&#xff0c;一次一单&#xff0c;不加仓&#xff0c;不网格&#xff0c;能够避免无谓的加单&#xff0c;会合理选择一个价位下单&#xff0c;避免频繁的加单加大风险&#xff0c;并且这个EA只要一个小的回调就能快速…

期货开户交易止损止盈的详解

一、条件单&#xff0c;止损止盈 不一定成交。止损单是价格到了你指定的那个价位&#xff0c;软件自动帮你挂单平仓。正常行情&#xff0c;价格到了你指定的止损价&#xff0c;软件会帮你正常平仓&#xff0c;平仓价就是你设置的止损价。但是&#xff0c;如果是极端行情&#…

python量化 双均线策略(金叉死叉)

#小策略&#xff0c;策略逻辑是在金叉时候买进&#xff0c;死叉时候卖出&#xff0c;所谓金叉死叉是两条均线的交叉&#xff0c;当短期均线上穿长期均线为金叉&#xff0c;反之为死叉 1、jqdata 网页端执行 #下面是策略代码及结构 # 导入函数库 from jqdata import * # 初始化…

小散量化炒股记|趋势指标金叉死叉策略在震荡行情中怎么处理

前言 相信大家都听说了量化交易这个东西了吧&#xff01;量化交易是一种新兴的系统化金融投资方法。 那么&#xff0c;什么才是普通股民所适合的量化交易打开方式呢&#xff1f; 本文就用一个接地气的股票分析场景——典型的趋势指标金叉死叉策略&#xff0c;在震荡行情中的处理…

股市永不过时的黄金铁律:零下金叉疯狂买,零上死叉立即卖

MACD和RSI技术分析指标 在前面详细介绍了Talib&#xff0c;谈到期货交易软件中常用的技术分析指标&#xff0c;如MACD、RSI、KDJ、动量指标、布林带等等。 &#xff08;1&#xff09;MACD MACD指标是所有技术指标里最经典的一个技术指标&#xff0c;正确运用这个指标&#x…