-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[css] 第10天 对比下px、em、rem有什么不同? #29
Comments
默认情况下: 1em = 10px; 1rem = 16px |
px是css中的逻辑像素,和移动端的物理像素之间会有一个比值dpr |
px 是固定的值 em 是相对父级变换大小 rem 是相对html,body大小变换的 |
1em = 当前元素的字体大小,1rem = 当前html元素的字体大小 |
小技巧如果为了方便计算 |
|
那么多回答em是相对父元素大小的麻烦你们严谨一点好吗。。 |
em是相对自身标签的font-size大小,哪是什么相对父元素咯 |
如果父元素font-size: 12px; 子元素设置 font-size: 1em; 则为12px; 不是24px; |
關於 em 的問題,可以參考 |
PX像素,相对长度单位,px 是相对显示器屏幕分辨率而言的。 EM相对长度单位,em 相对于当前对象内文本的字体尺寸。通常 REMroot em,CSS3 新增的一个相对单位。
|
关于
|
|
px: 在缩放页面时无法调整那些使用它作为单位的字体、按钮等的大小; |
p {font-size:14px; font-size:.875rem;} |
px、em、rem都是计量单位,都能表示尺寸,但是有有所不同,而且其各有各的优缺点。 Px表示“绝对尺寸”(并非真正的绝对),实际上就是css中定义的像素(此像素与设备的物理像素有一定的区别,后续详细说明见文末说明1),利用px设置字体大小及元素宽高等比较稳定和精确。Px的缺点是其不能适应浏览器缩放时产生的变化,因此一般不用于响应式网站。 em表示相对尺寸,其相对于当前对象内文本的font-size(如果当前对象内文本的font-size计量单位也是em,则当前对象内文本的font-size的参考对象为父元素文本font-size)。使用em可以较好的相应设备屏幕尺寸的变化,但是在进行元素设置时都需要知道父元素文本的font-size及当前对象内文本的font-size,如有遗漏可能会导致错误。 rem也表示相对尺寸,其参考对象为根元素的font-size,因此只需要确定这一个font-size。 |
首先他们都是长度大小单位,但有所不同:
|
特看了下 w3c 上面。 为什么都说是 父元素。。。也不知道谁先提出来的!坑啊 |
|
px:像素点的宽度 |
1、px是固定的像素,一旦设置了就无法因为适应页面大小而改变。 2、em和rem相对于px更具有灵活性,他们是相对长度单位,意思是长度不是定死了的,更适用于响应式布局。 3、em是相对于其父元素来设置字体大小的,一般都是以的“font-size”为基准。这样就会存在一个问题,进行任何元素设置,都有可能需要知道他父元素的大小。而Rem是相对于根元素,这样就意味着,我们只需要在根元素确定一个参考值。 对于em和rem的区别一句话概括:em相对于父元素,rem相对于根元素。 |
em是相对自身标签的font-size大小,但是该属性是可以从父元素继承的。 |
用以下实际代码来测试一下 <div class="box1">
<p class="text1">Text1</p>
</div>
<div class="box2">
<p class="text2">Text2</p>
</div>
<div class="box3">
<p class="text3">Text3</p>
</div> .box1 {
font-size: 20px;
}
.text1 {
height: 2em;
}
.text2 {
font-size: 2em;
height: 2em;
}
.text3 {
font-size: 20px;
height: 2em;
} 根据运行结果,可证 @hayahayao 的回答。 |
可以看下这篇文章,写的蛮详细的:CSS units for font-size: px | em | rem |
px是css中的逻辑像素,和移动端的物理像素之间会有一个比值dpr |
em不是相对父元素 |
这么说其实是不对的, 一旦指定em,那么font一定是通过继承获得的,所以必定是父元素那里来的 |
px 像素点宽度, em相对于元素标签的font-size的倍数, rem相对于html根元素的font-size宽度 |
px是像素单位 |
px:固定长度 |
px 像素单位相对于是屏幕的分辨率 |
pxpx(像素)是绝对长度单位,1px = 1/96th of 1in emem 是相对长度单位 在 font-size 中使用是相对于父元素的字体大小,在其他属性中使用是相对于自身的字体大小,如 width 若当前行内文本的字体尺寸未被设置,则相对于浏览器的默认字体尺寸 remrem 是相对长度单位 相对于根元素( |
|
px:像素,相对显示器屏幕分辨率而言,在ipone手机里面,有一个dpr的问题 |
px是绝对长度单位,em和rem是相对长度单位,em的值不是固定的,并会继承父级元素的字体大小,rem总是相对于根元素,而不像em一样使用级联的方式来计算尺寸 |
px: 绝对单位。即 5px 放在哪里都一样大。em: 相对单位。1em等于当前元素的字号,其准确值取决于作用的元素。rem: 相对单位。rem 是 root em 的缩写。 rem 不是相对于当前元素, 而是相对于根元素的单位。 不管在文档的什么位置使用rem, 即 1.2rem 都会有相同的计算值:1.2乘以根元素的字号。 |
你的邮件我已收到,我会尽快处理
|
|
px是固定的像素单位,em是相对于父元素的字体大小而rem是相对于根元素的字体大小。 |
px是绝对单位,em和rem是相对单位,em相对于父元素,rem则是相对于根元素 |
第10天 对比下px、em、rem有什么不同?
The text was updated successfully, but these errors were encountered: