unicode-range
CSS descriptor sets the specific range of characters to be used from a font defined by
@font-face
and made available for use on the current page. If the page doesn't use any character in this range, the font is not downloaded; if it uses at least one, the whole font is downloaded.
/* <unicode-range> values */ unicode-range: U+26; /* single codepoint */ unicode-range: U+0-7F; unicode-range: U+0025-00FF; /* codepoint range */ unicode-range: U+4??; /* wildcard range */ unicode-range: U+0025-00FF, U+4??; /* multiple values */
U+26
.
U+0025-00FF
means
include all characters in the range
U+0025
to
U+00FF
.
'?'
character, so for example
U+4??
means
include all characters in the range
U+400
to
U+4FF
.
The purpose of this descriptor is to allow the font resources to be segmented so that a browser only needs to download the font resource needed for the text content of a particular page. For example, a site with many localizations could provide separate font resources for English, Greek and Japanese. For users viewing the English version of a page, the font resources for Greek and Japanese fonts wouldn't need to be downloaded, saving bandwidth.
| 相关 at-rule |
@font-face
|
|---|---|
| 初始值 |
U+0-10FFFF
|
| 计算值 | 如指定 |
<unicode-range>#
In this example we create a simple HTML containing a single
<div>
element, including an ampersand, that we want to style with a different font. To make it obvious, we will use a sans-serif font,
Helvetica
, for the text, and a serif font,
Times New Roman
, for the ampersand.
In the CSS we are in effect defining a completely separate
@font-face
that only includes a single character in it, meaning that only this character will be styled with this font. We could also have done this by wrapping the ampersand in a
<span>
and applying a different font just to that, but that is an extra element and rule set.
<div>Me & You = Us</div>
@font-face {
font-family: 'Ampersand';
src: local('Times New Roman');
unicode-range: U+26;
}
div {
font-size: 4em;
font-family: Ampersand, Helvetica, sans-serif;
}
| 规范 | 状态 | 注释 |
|---|---|---|
|
CSS Fonts Module Level 3
The definition of 'unicode-range' in that specification. |
候选推荐 | 初始定义 |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
unicode-range
|
Chrome 完整支持 1 | Edge 完整支持 12 | Firefox 完整支持 36 | IE 完整支持 9 | Opera 完整支持 15 | Safari 完整支持 3.2 | WebView Android 完整支持 ≤37 | Chrome Android 完整支持 18 | Firefox Android 完整支持 36 | Opera Android 完整支持 14 | Safari iOS 完整支持 3 | Samsung Internet Android 完整支持 1.0 |
完整支持
font-display
font-family
font-stretch
font-style
font-weight
font-variant
font-feature-settings
font-variation-settings
src
font
font-family
font-feature-settings
font-kerning
font-language-override
font-optical-sizing
font-size
font-size-adjust
font-smooth
font-stretch
font-style
font-synthesis
font-variant
font-variant-alternates
font-variant-caps
font-variant-east-asian
font-variant-ligatures
font-variant-numeric
font-variant-position
font-variation-settings
font-weight
line-height
line-height-step