9

我不明白字体粗细值。当我将其更改为粗体、正常或 600+ 时,也会更改字体。但是将其更改为 100 到 500,不会改变任何内容。为什么会有这些价值观?

4

4 回答 4

12

从 100 到 900的font-weight值反映了设计不同粗细字体的排版实践。很少有字体具有所有这些权重,但已选择比例以或多或少地覆盖所使用的不同权重。CSS3 字体草案描述了数字和传统印刷术语(如 Thin、Extra Light 等)之间的对应关系,但术语确实有所不同。

在排版中,每个粗细都是由排版师设计的单独字体。这就是为什么大多数字体只有两种或可能只有一种粗细的原因之一:设计字体需要时间,而时间就是金钱。另一个特别适用于 Web 上使用的字体的原因是显示设备相当粗糙,使得精细的排版通常是一种毫无意义的尝试。特别是,小字体高度在低分辨率设备上效果不佳。

CSS 规范定义了一种将声明的字体权重映射到可用权重的算法。例如,当只有权重 400 和 700 可用(通常情况)时,权重 100、200 和 300 将映射到 400。

但是,在某些情况下,浏览器会在算法上使用粗体字形。这更像是一个问题而不是解决方案,并且由于浏览器的差异,如果您要求不存在的权重,可能会导致奇怪的事情。如果请求的字重为 600 或更大,并且字体只有正常 (400) 字体,则大多数浏览器似乎使用算法粗体。例如,设置font-weight: bold文本何时使用 Arial Unicode MS(没有粗体字体)会创建一个人工加粗的 Arial Unicode MS 版本。

常用字体还有其他问题。有时您需要像使用字体名称一样使用字体名称,例如,font-family: Arial Black而不是逻辑设置font-family: Arial; font-weight: 900。有时这不起作用,因为在某些浏览器上只有逻辑方式有效。

作为一项规则,除非您使用可下载字体(网络字体) via ,否则不要尝试使用正常和粗体以外的其他粗细@font-face,这样您就可以控制字体粗细问题。大多数可下载的字体仅包含两种基本粗细,或仅一种,但也有一些有趣的免费字体具有多种粗细。

于 2012-11-03T09:33:40.283 回答
1

font-weight 值改变字体的粗细。

通常仅限所有浏览器。

font-weight:bold;

好好工作。

100-500 font-weight 不加粗字体,因为它加粗字体的百分比小于 50%。

并且浏览器会自动将其更改为普通字体而不是粗体

于 2012-11-03T09:06:01.123 回答
0

font-weight设置您希望浏览器呈现的字体的预期权重。通常,相同字体的不同粗细实际上是不同的字体(考虑ArialArial Black),浏览器甚至可能用不同的字体系列代替更粗的字体。浏览器也不需要具有所有可用权重的所有字体,因此某些font-family/font-weight组合可能没有任何效果。

浏览器和 CSS 不是排版系统。您不能保证完全按照您指定的方式呈现您请求的样式。如果您想更好地控制字体,请考虑使用@font-face声明。

于 2012-11-03T08:20:34.497 回答
0

基本上,如果具有指定字体粗细的字体不存在,它将被最接近的可用字体粗细替换。这就是为什么您看不到任何变化的原因。

请注意,400 是正常的,700 是粗体,并且大多数网络字体没有比这更多的字体粗细。所以 95% 的时间,你可以坚持使用“粗体”和“正常”来指定 css 中的字体粗细。

于 2012-11-03T08:22:46.927 回答