Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 我应该在CSS中使用px或rem值单位吗?_Html_Css_Distance_Units Of Measurement - Fatal编程技术网

Html 我应该在CSS中使用px或rem值单位吗?

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中最理想的距离度量有很多不同的意见,

我正在设计一个新网站,我希望它能与尽可能多的浏览器和浏览器设置兼容。我正试图决定我的字体和元素的大小应该使用什么计量单位,但无法找到一个结论性的答案

我的问题是:我应该在CSS中使用
px
还是
rem

  • 到目前为止,我知道使用
    px
    与在浏览器中调整基本字体大小的用户不兼容
  • 我忽略了
    em
    s,因为它们在级联时比
    rem
    s更难维护
  • 有人说,
    rem
    s与分辨率无关,因此更可取。但也有人说,大多数现代浏览器都会平均缩放所有元素,因此使用
    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;
}