字体样式:CSS中的斜体与斜体


209

两者之间有什么区别:

font-style:italic
font-style:oblique

我尝试使用W3Schools编辑器,但无法分辨出差异。

我想念什么?


17
从未来的消息:维基百科有一个非常好的实施例示出之间的差斜体倾斜
Cornstalks

后续问题(或者应该在UX中使用?):实际使用情况对选择倾斜变体有何影响?斜体变体“总是”不是更可取吗?
KlaymenDK '16

1
@KlaymenDK:诚然,这是一个狭窄的用例,但是我可以预见,在像素化输出的某些小字体中,为了便于阅读,我倾向于使用倾斜字体:示例:在小尺寸屏幕上使用6pt到8pt字体;与简单的“倾斜”相比,某些斜体笔画更细,装饰更多,可能会降低可读性。
丹·H

Answers:


268

从最纯粹的(类型设计者)的角度来看,斜角是一种罗马字体,已经倾斜了一定程度的角度(通常为8-12度)。斜体由类型设计器创建,并以不同的方式绘制特定的字符(特别是小写a)以创建更多的书法和倾斜版本。

一些类型代工厂人随意创建了斜角,而这些斜角并不一定得到设计师自己的认可……有些字体本来就不是斜体或斜角的……但是人们还是这么做了。如您所知,某些操作系统将在单击“斜体”图标时使字体倾斜并动态创建斜线。不愉快的景象。

最好仅在确定字体设计为带有斜体时才指定斜体。


37
可能需要注意的是,在野外几乎没有字体家族同时指定斜体和斜体,并且如果指定的面对于该字体不可用,则大多数渲染引擎将提供另一面。
SingleNegationElimination

7
这个答案没有解决功能上的差异,相互排斥或语义上的差异。
ahnbizcad 2014年

2
以西里尔字母为例,斜体字符通常会非常不同,更像草书形式,斜体形式只是斜体。
Moody_Mudskipper

1
如果我说“斜体”但只有“斜”字型可用,渲染引擎应该怎么做?或相反亦然?
迈克尔

@SingleNegationElimination您的评论应该是答案,因为它特别涉及CSS时的实际技术性。此处选择的“答案”更多地是关于排版的。
冯·休·沃

72

通常,斜体是字体的特殊版本,而斜体只是常规字体略有倾斜。因此,两者都是倾斜的,并且与常规字体相关,但是斜体将具有专门为此设计的特殊字母形式。

大多数字体都使用斜体或斜体。我从未见过兼而有之。(如果您使用斜体版本,为什么还要担心倾斜版本?)


21

斜体(或倾斜,倾斜)是一种稍微向右倾斜的类型,其用法与斜体相同。但是,与斜体类型不同,它不使用不同的字形形状。它使用与罗马字型相同的字形,但失真的除外。

进一步阅读: CSS字体样式斜斜体与斜体


16

斜体,比较时相同的差值是可见的斜体仿斜体

倾斜普通字体的地方都会出现假斜体,而倾斜的真斜体会显示出来。font-style: italic;

在此处输入图片说明

两个ll的底部清楚显示了差异。

参见示例


2
您是说斜等于假斜体吗?
zwcloud

是的,如果既没有斜字体也没有斜体字体,则结果将显示相同(对于本示例,至少在镶边中为next
robstarbuck

没有视觉帮助,就不可能做出这个答案,谢谢
Max Alexander Hanna

0

根据mozilla开发人员CSS教程

  • 斜体:设置文本以使用字体的斜体版本(如果有);如果不可用,它将使用斜线模拟斜体。
  • 斜:将文本设置为使用斜体字体的模拟版本,该斜体字体是通过倾斜常规版本而创建的。

  • 从这里,我们推断出如果字体的斜体版本不可用,则斜体斜体的行为相同。由于W3Schools代码片段未指定任何特殊内容font-family,因此我相信使用的是默认字体。默认字体,可能没有斜体。

    但是如何使字体的斜体形式可用?

    这意味着我们至少有两个相同字体的版本,一个“常规”版本和一个斜体版本。这些可以<style>@font-face规则部分中指定。请简要阅读:developer.mozillaw3schoolstympanus.net。如您所见,字体作为文件加载,可以具有以下扩展名:eot, otf, woff, truetype

    到目前为止,我发现了链接字体文件的两种方法

  • 字体文件的绝对URL:(来自tympanus.net的代码段)

    `@font-face {
     font-family: 'Open Sans';
     font-style: normal;
     font-weight: 400;
     src: local('Open Sans'), local('OpenSans'), 
     url (http://themes.googleusercontent.com/static/fonts/opensans/v8/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff) format('woff');
    }
    
     @font-face {
     font-family: 'Open Sans';
     font-style: italic;
     font-weight: 400;
     src: local('Open Sans Italic'), local('OpenSans-Italic'), 
     url 
     (http://themes.googleusercontent.com/static/fonts/opensans/v8/
     xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff)
     format('woff');
     }`

    请注意,在两种情况下,我们都有font-family: 'Open Sans',基本上定义了相同的字体;但是在第一种情况font-style: normal;下,我们有font-style: italic;。另请注意,URL指向不同的文件。 现在,回到w3schools代码段,这就是浏览器如何区分font-style: normalfont-style: italic

  • 使用字体文件的相对路径:(来自metaltoad.com的代码段)

    您可以为每种字体使用相同的字体系列名称,然后定义匹配的样式,而不是为每种字体定义单独的字体系列值,如下所示:

    `@font-face {
    font-family: 'Ubuntu';
    src: url('Ubuntu-R-webfont.eot');
    font-weight: normal;
    font-style: normal;
    }
    @font-face {
    font-family: 'Ubuntu';
    src: url('Ubuntu-I-webfont.eot');
    font-weight: normal;
    font-style: italic;
    }`

    在这种情况下,.eot文件必须存储在与html页面相同的文件夹中。再次,请注意,它们font-family是相同的,font-style是不同的,并且URL也不同:Ubuntu- R -webfont与Ubuntu- I -webfont。

    字体的斜体示例:

    ctan.org:这是一个示例,说明如何为同一字体的不同样式/粗细提供不同的文件。当场不计算粗体或斜体,而是从其特定文件中检索它们。


  • 我的回答解决了问题的第二部分:“ ...但是无法分辨出区别。我想念的是什么?”
    狼郊狼
    By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
    Licensed under cc by-sa 3.0 with attribution required.