oblique 字體和 italic 字體在 CSS 樣式中有什麼差別?

想把web前端作為理想職業,現在遇到了這個問題,研究了好久還是不太清楚,求高人解答~


Oblique

Italic


自己看:

  • CSS 2.1 文檔:http://www.w3.org/TR/CSS2/fonts.html#font-styling

  • CSS3 文檔:http://www.w3.org/TR/css3-fonts/#font-style-prop

  • MDN 文檔:https://developer.mozilla.org/en-US/docs/Web/CSS/font-style

`font-style: oblique` 選擇字體族的 oblique 變體。`italic` 選擇字體族的 italic 變體,如果沒有 italic 變體就妥協到 oblique 變體。如果字體族連 oblique 也未提供,則由瀏覽器合成傾斜的仿 oblique。

比如 `font-family: Georgia, serif` 時,指定 `font-style: italic`,則瀏覽器使用 Georgia Italic。若 `font-family: Microsoft YaHei, sans-serif` 時指定 `font-style: italic`,因為微軟雅黑沒有 italic 或 oblique 變體,瀏覽器只得將 regular 變體傾斜以自動合成仿 oblique。

沒有什麼應當使用 `oblique` 的場景。

如果你讀完以上那些文檔還不知道字體的 oblique 和 italic 分別是什麼意思,讀:既然瀏覽器能用演算法將正常字體加粗和變斜,那麼斜體有必要嗎?

CSS 里沒有「oblique 字體和 italic 字體」。CSS 里只有 `font-style` 這麼一個屬性以及該屬性的 `oblique` 和 `italic` 等取值,這些取值要求瀏覽器選取相應的字體。理清邏輯。


italic: 指的是一種單獨的字體風格,對每個字母的結構有一些小改動,來反映外觀的變化,不一定每種字體都有這種風格;

oblique: 指的是將正常豎直文本傾斜;

如果對沒有 italic 字體風格的字體使用 italic 就沒有效果了,這時需要用斜體就使用 oblique;

如果 italic 字體不存在,而只有 oblique 字體,則使用後者 oblique 字體;

但若 oblique 字體不存在,則不能用 italic 替代,此時瀏覽器會將正常直立字體傾斜一個角度來作為傾斜字體使用;


italic:斜體,對於沒有斜體變數的特殊字體,將應用 oblique

oblique:傾斜的字體


推薦閱讀:

大牛傳授Web前端工程師的強者之路之從業經驗
如何理解 CSS 中的浮動布局方式?最主要的功能是什麼?如何正確地使用它?
CSS實現兼容性的漸變背景(gradient)效果
清除浮動的幾種方法

TAG:前端開發 | 字體 | CSS |