为什么em而不是px?

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-21 18:16:00

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

我听说你应该使用em而不是像素来定义样式表中的大小和距离。 所以问题是为什么在css中定义样式时我应该使用em而不是px? 有一个很好的例子可以说明这一点吗?


#1楼

顶部投票答案在这里从thomasrutter是正确的,他对EM响应。 但是像素的大小是非常错误的。 所以即使它已经老了,我也不能让它变得不成熟。

电脑屏幕通常不是96dpi! (或者ppi,如果你想变得迂腐。)


像素没有固定的物理尺寸。
(是的,它仅在一个屏幕内固定,但在下一个屏幕中,像素很可能更大或更小,当然不是1/96英寸。)


证明
画一条线,长960像素。 用物理标尺测量它。 是10英寸? 没有..?
将笔记本电脑连接到电视。 线路现在是10英寸? 还没有?
在iPhone上显示该行。 还是一样大小? 为什么不?

谁发明了96dpi电脑屏幕神话?
(有些宗教以72dpi神话运作。但同样错误。)


#2楼

例:

代码:body {font-size:10px;} //将所有大小保持在10以下,更改此值,其余更改为例如此值的1.4

1 {font-size:1.2em;} // 12px

2 {font-size:1.4em;} // 14px

3 {font-size:1.6em;} // 16px

4 {font-size:1.8em;} // 18px

5 {font-size:2em;} // 20px

...

身体

1

2

3

4

通过改变身体中的值,其余的自动变化是基数值的一种...

10×2 = 20 10×1.6 = 16等

您可以将基值设置为8px ...所以8×2 = 16 8×1.6 = 12.8 //可以通过浏览器舍入


#3楼

如果您想使用px指定字体大小,但仍然希望通过将其放在CSS文件中来提供可用性,这是一个简单的解决方案:

body {
  font-size: 62.5%;
}

现在指定p (和其他)标签,如下所示:

p {
  font-size: 0.8em; /* This is equal to 8px */
  font-size: 1.0em; /* This is equal to 10px */
  font-size: 1.2em; /* This is equal to 12px */
  font-size: 2.0em; /* This is equal to 20px */
}

等等。


#4楼

它适用于必须根据字体大小进行缩放的所有内容。

它在通过缩放字体大小实现缩放的浏览器上特别有用。 因此,如果使用em所有元素的大小,则会相应地缩放。


#5楼

使用px精确放置图形元素。 使用em进行测量,必须在文本元素周围进行定位和间距,如行高等.px是像素精确的,em可以随着使用的字体动态变化

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!