Html 我应该在CSS中使用px或rem值单位吗?
我正在设计一个新网站,我希望它能与尽可能多的浏览器和浏览器设置兼容。我正试图决定我的字体和元素的大小应该使用什么计量单位,但无法找到一个结论性的答案 我的问题是:我应该在CSS中使用Html 我应该在CSS中使用px或rem值单位吗?,html,css,distance,units-of-measurement,Html,Css,Distance,Units Of Measurement,我正在设计一个新网站,我希望它能与尽可能多的浏览器和浏览器设置兼容。我正试图决定我的字体和元素的大小应该使用什么计量单位,但无法找到一个结论性的答案 我的问题是:我应该在CSS中使用px还是rem 到目前为止,我知道使用px与在浏览器中调整基本字体大小的用户不兼容 我忽略了ems,因为它们在级联时比rems更难维护 有人说,rems与分辨率无关,因此更可取。但也有人说,大多数现代浏览器都会平均缩放所有元素,因此使用px不是问题 我问这个问题是因为对于CSS中最理想的距离度量有很多不同的意见,
px
还是rem
- 到目前为止,我知道使用
与在浏览器中调整基本字体大小的用户不兼容px
- 我忽略了
s,因为它们在级联时比em
s更难维护rem
- 有人说,
s与分辨率无关,因此更可取。但也有人说,大多数现代浏览器都会平均缩放所有元素,因此使用rem
不是问题px
我问这个问题是因为对于CSS中最理想的距离度量有很多不同的意见,我不确定哪一个是最好的。我发现为网站的字体大小编程的最好方法是为
主体定义一个基本字体大小,然后使用em(或rem)对于每一个字体大小
,我在此之后声明。我想这是我个人的偏好,但这对我来说很好,也让我很容易加入一个更具吸引力的团队
就使用rem单元而言,我认为在代码的渐进性和对旧浏览器的支持之间找到平衡是很好的,这对你的决定应该有很大的帮助。我发现对网站字体大小进行编程的最佳方法是为正文定义一个基本字体大小,然后每隔字体大小使用em(或rem)。我想这是我个人的偏好,但这对我来说很好,也让我很容易加入一个更具吸引力的团队
就使用rem单元而言,我认为在代码的渐进性和对旧浏览器的支持之间找到平衡是很好的,这应该对你的决定有很大帮助。em是前进的方向,不仅仅是字体,你还可以将其用于方框、线条粗细和其他东西,为什么
简单地说,em是唯一与浏览器中的alt+和alt-键同步缩放的对象
其他的测量尺度,但没有em那么干净
另一方面,如果您希望在缩放方面达到最佳效果,也可以在可能的情况下将图形转换为基于矢量的SVG,因为这些图形也可以根据浏览器的缩放比例进行清晰的缩放。em是前进的方向,不仅适用于字体,还可以用于方框、线条粗细和其他内容,为什么
简单地说,em是唯一与浏览器中的alt+和alt-键同步缩放的对象
其他的测量尺度,但没有em那么干净
另一方面,如果您希望在缩放方面达到最佳效果,还可以在可能的情况下将图形转换为基于矢量的SVG,因为这些图形还可以根据浏览器的缩放比例进行清晰的缩放。是。或者,更确切地说,不是
呃,我是说,没关系。使用对您的特定项目有意义的方法。PX和EM或两者同样有效,但根据整个页面的CSS架构,它们的行为会有所不同
更新:
为了澄清这一点,我要说的是,通常情况下,你使用哪一种可能并不重要。有时,您可能特别想选择其中一个。如果你可以从头开始,希望使用基本字体大小,并将所有相关内容都设置为基本字体大小,那么EMs是不错的选择
当您在现有代码基础上重新设计时,通常需要px,并且需要px的特殊性来防止不良嵌套问题。是的。或者,更确切地说,不是
呃,我是说,没关系。使用对您的特定项目有意义的方法。PX和EM或两者同样有效,但根据整个页面的CSS架构,它们的行为会有所不同
更新:
为了澄清这一点,我要说的是,通常情况下,你使用哪一种可能并不重要。有时,您可能特别想选择其中一个。如果你可以从头开始,希望使用基本字体大小,并将所有相关内容都设置为基本字体大小,那么EMs是不错的选择
当您在现有代码库上重新设计时,通常需要px,并且需要px的特殊性来防止不良嵌套问题。非常好地描述了px
、em
和rem
的优缺点
作者最后得出结论,最好的方法可能是同时使用px
和rem
,首先声明px
适用于旧浏览器,然后重新声明rem
适用于新浏览器:
html { font-size: 62.5%; }
body { font-size: 14px; font-size: 1.4rem; } /* =14px */
h1 { font-size: 24px; font-size: 2.4rem; } /* =24px */
很好地描述了px
、em
和rem
的优缺点
作者最后得出结论,最好的方法可能是同时使用px
和rem
,首先声明px
适用于旧浏览器,然后重新声明rem
适用于新浏览器:
html { font-size: 62.5%; }
body { font-size: 14px; font-size: 1.4rem; } /* =14px */
h1 { font-size: 24px; font-size: 2.4rem; } /* =24px */
TL;DR:使用px
事实
- 首先,非常重要的是要知道,CSS
px
unit不等于一个物理显示像素。这一直都是事实——即使是在1996年
CSS定义参考像素,用于测量96 dpi显示器上像素的大小。在具有与96dpi基本不同的dpi的显示器(如视网膜显示器)上,用户代理重新缩放px
单元,以便其大小与参考像素的大小匹配。换句话说,这就是为什么1个CSS像素等于2个物理视网膜显示像素的原因
这就是说,直到2010年(尽管有移动变焦的情况),px几乎总是等于一个物理像素,因为所有广泛使用的显示器都在96dpi左右
<body> - 20px
<div> - 10px
<div> - 5px
<div> - 2.5px
<div> - 1.25px
html {
font-size: 12pt;
}
html {
font-size: 16px;
}
html {
}
body {
font-size:14px;
}
.someElement {
width: 12px;
}
html {
font-size:1px;
}
body {
font-size:14rem;
}
.someElement {
width: 12rem;
}