oblique 字體和 italic 字體在 CSS 樣式中有什麼差別?
02-06
想把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)效果
※清除浮動的幾種方法