为什么需要斜体/粗体字体文件?HTML中的Italic/Strong标签和字体有什么区别?

3
为什么我们需要斜体/粗体字体文件,如果我们已经有了<em>和<strong>可以分别实现斜体和粗体?
Arial Narrow Italic Arial Narrow Italic Bold
是否存在特殊情况,使得拥有这些字体文件能够比浏览器渲染的更完美?例如,浏览器可能具有通用的斜体与粗体方式,但是特定的斜体/粗体文件可能会使其更加完美?
我该如何在应用程序中使用它们?例如,我需要Caslon 540 Caslon 540 italic,并且我为每个都获得了两个文件。我将它们视为完全不同的字体,还是像...
@font-face {
  font-family: Caslon;
  src: url(fonts/Caslon.ttf);
}

@font-face {
  font-family: CaslonItalic;
  src: url(fonts/CaslonItalic.ttf);
}

这看起来更简单易实现?

还是说我实际上有一个字体,但具有不同的字体:样式规范?

@font-face {
  font-family: Caslon;
  src: url(fonts/Caslon.ttf);
    }

@font-face {
  font-family: Caslon;
  src: url(fonts/CaslonItalic.ttf);
  font-style: italics;
}

这个问题是关于是否需要在每个元素的html属性中嵌入font-style:italics,还是会自动检测其是否为CaslonItalics,是否会有额外的开销。

其实本质上有一个类似的问题在这里:<strong> vs. font-weight:bold & <em> vs. font-style:italic


1
除非您使用特定字体,否则它们不是真正的斜体或粗体。 - Daniel A. White
当你说“真正的斜体”时,你是什么意思?我该如何正确使用它们?1或2选项哪个更好-有什么想法吗? - Nishant
1
它们可能会有样式上的更改。https://dev59.com/jHE95IYBdhLWcg3wJKh_?rq=1 - Daniel A. White
1
@Nishant 如果您没有为斜体、粗体或任何带有样式的文本提供适当的字体,用户代理程序将模仿它们的样式外观。因此,可能存在样式差异。 https://spaceninja.com/2010/11/29/font-face-faux-styles/ 这可能会有所帮助。 - rosshjb
1个回答

5
  1. 最终用户的浏览器可能没有安装字体。请记住,内容是在客户端而不是服务器端呈现的。
  2. 您的内容可能有某些方面需要特定字体(奇怪的字距,特定可用大小,特殊字符等)才能获得最佳可读性。
  3. <i><em>等HTML标签根本不会影响字体——它们告诉客户端应该如何呈现它们,然后客户端选择适当的字体。
  4. 您可以使用CSS告诉渲染引擎对斜体使用特定字体,例如i、em {font-family: Caslon;}'。但是,这样做是不被鼓励的,因为您将从读者手中夺走选择权——他们可能不喜欢您的字体选择。

是的,我将使用URL /数据URI部署它。谢谢,我会仔细研究这个,有时候很微妙。 - Nishant

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接