คุณสมบัติ font-variant เป็น shorthand สำหรับคุณสมบัติย่อยๆ ได้แก่ font-variant-caps, font-variant-numeric, font-variant-alternates, font-variant-ligatures, font-variant-east-asian
ไวยากรณ์ (Syntax)
Selector {
font-variant: /*value*/;
}
ตัวอย่างที่ 1: Small-caps และ All-petite-caps
<!DOCTYPE html>
<html>
<head>
<style>
table * { box-shadow: inset 0 0 10px lavender; font-size: 1.2em; font-variant: small-caps; }
td + td { font-variant: all-petite-caps; }
</style>
</head>
<body>
<table>
<tr><th>DEMO a</th><th>DEMO b</th></tr>
<tr><td>1a</td><td>1b</td></tr>
<tr><td>2a</td><td>2b</td></tr>
</table>
</body>
</html>
ผลลัพธ์

ตัวอย่างที่ 2: Unicase
<!DOCTYPE html>
<html>
<head>
<style>
div { display: flex; margin: 20px; width: 20%; float: left; box-shadow: inset 0 0 9px orange; }
#demo { font-variant: unicase; }
</style>
</head>
<body>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed pellentesque felis ac lorem ornare maximus.</div>
<div id="demo">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed pellentesque felis ac lorem ornare maximus.</div>
</body>
</html>
ผลลัพธ์

Sub-properties ของ font-variant
| Sub-property | คำอธิบาย | ค่าตัวอย่าง |
|---|---|---|
font-variant-caps | ควบคุมตัวพิมพ์เล็ก/ใหญ่ | small-caps, all-small-caps, petite-caps, all-petite-caps, unicase, titling-caps |
font-variant-numeric | ควบคุมการแสดงตัวเลข | lining-nums, oldstyle-nums, proportional-nums, tabular-nums, diagonal-fractions, stacked-fractions, ordinal, slashed-zero |
font-variant-alternates | ใช้ glyph alternatives | historical-forms, stylistic(n), styleset(n), character-variant(n), swash(n), ornaments(n), annotation(n) |
font-variant-ligatures | ควบคุม ligatures | common-ligatures, discretionary-ligatures, historical-ligatures, contextual, no-common-ligatures |
font-variant-east-asian | ควบคุม glyphs ภาษาเอเชียตะวันออก | jis78, jis83, jis90, jis04, simplified, traditional, full-width, proportional-width, ruby |
ค่าสำหรับ font-variant-caps (ยอดนิยม)
normal- ปกติsmall-caps- ตัวเล็กแทนตัวพิมพ์เล็ก (lowercase → small caps)all-small-caps- ทุกตัวเป็น small caps (uppercase → small caps ด้วย)petite-caps- เหมือน small-caps แต่ขนาดเล็กกว่า (ต้องมี font support)all-petite-caps- ทุกตัวเป็น petite-capsunicase- ผสม uppercase และ small-capstitling-caps- ตัวอักษรสำหรับหัวข้อ (titling capitals)
ข้อสังเกต
- ต้องใช้ Font ที่รองรับ OpenType features (เช่น
font-variant-numeric: tabular-numsสำหรับตัวเลขจัดตาราง) - Variable Fonts รองครองคุณสมบัติเหล่านี้ได้ดีที่สุด
font-variantshorthand รีเซ็ต sub-properties ทั้งหมด ถ้าใช้ค่าที่ไม่รองรับจะ fallback เป็น normal