【问题标题】:How it works css font-weight values?它是如何工作的 css font-weight 值?
【发布时间】:2012-11-03 08:14:00
【问题描述】:

我不了解字体粗细值。当我将其更改为粗体、普通或 600+ 时,也会更改字体。但是将其更改为 100 到 500,不会改变任何内容。为什么要有这些值?

【问题讨论】:

  • 你的字体必须支持不同的不同粗细。
  • 与浏览器或字体的情况有关?
  • 有时字体设计师会选择创建 100、200、300 等粗细字体。其他时候,他们只做一两个重量。如果您使用实际不存在的权重,浏览器将选择最接近的有效权重。
  • 好的,这两者都相关。谢谢

标签: css


【解决方案1】:

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

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

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

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

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

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

【讨论】:

    【解决方案2】:

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

    通常仅限所有浏览器。

    font-weight:bold;
    

    正常工作。

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

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

        • 可能与主题/单词的重要性有关吗?例如在 HTML 标记中使文本仅粗体但 标记用于重要关键字。和这个有关系吗?
        • @regxcode,不,bstrong 元素在 CSS 术语中具有相同的默认效果。
        猜你喜欢
        • 2012-01-21
        • 2016-05-30
        • 1970-01-01
        • 2013-06-29
        • 1970-01-01
        • 1970-01-01
        • 2022-12-21
        • 2012-04-20
        • 1970-01-01
        相关资源
        最近更新 更多