比方說,我們定義了一個font-family
使用@font-face
使用:在CSS @ font-face中,字體權重不是指定用於此字體的重量,而是與3種字體重量「匹配」?
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 900;
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v15/oMMgfZMQthOryQo9n22dcuvvDin1pK8aKteLpeZ5c0A.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
看來,上述font-weight
沒有指定什麼重量,如果用戶指定font-family: Roboto
使用該字體文件來呈現,而是,它是「匹配」當@font-face
指定相同名稱時使用的字體文件。
例子:
如果@font-face
裏面,我們指定400
的font-weight
,現在的文本呈現在谷歌瀏覽器(版本48.0,我可以得到幾乎相同的結果,使用當前的Firefox在這個問題jsfiddles 44.0.2),與不被所述光能夠被輕,但通過使「雙印刷」字型或像素的「雙寬度」的招數大膽一個可能是由粗體:
https://jsfiddle.net/0vL8m9bj/
如果我們製作font-weight
就是900
作出@font-face
,則文本的所有3條線變成常規:
https://jsfiddle.net/0vL8m9bj/1/
所以我們可以看到,900
不指定要顯示什麼,使用該字體文件。
那麼@font-face
裏面font-weight
有什麼用?
如果我們使用https://www.google.com/fonts#UsePlace:use/Collection:Roboto並把這個行:
<link href='https://fonts.googleapis.com/css?family=Roboto:400,700,900,300'
rel='stylesheet' type='text/css'>
這實際上爲文件加載一些CSS定義到瀏覽器:
/* latin */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v15/Hgo13k-tfSpn0qi1SFdUfZBw1xU1rKptJj_0jans920.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* latin */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v15/oMMgfZMQthOryQo9n22dcuvvDin1pK8aKteLpeZ5c0A.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* latin */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 900;
src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v15/mnpfi9pxYH-Go5UiibESIpBw1xU1rKptJj_0jans920.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* other languages omitted here */
現在我們可以看到3個「砝碼」 :
https://jsfiddle.net/0vL8m9bj/5/
,但是,它不是由CL最匹配的數字 - 它看起來像「輕」,「正常」和「粗體」類別匹配,因爲如果它是301
,它將不會與299
匹配,即使認爲它非常接近299
,但將匹配與400
或500
:
https://jsfiddle.net/0vL8m9bj/6/
的699
也不會700
匹配,但將匹配400
。
我們也可以看到,如果我們扭轉@font-face
的font-weight
,並使用bold
,normal
,lighter
爲樣式的文本,然後bold
將使用光字體文件,並lighter
將使用深色字體文件:
https://jsfiddle.net/0vL8m9bj/10/
然而,一個奇怪的是,如果700
在最後@font-face
到701
改變,現在所有的3條線將成爲大膽:
https://jsfiddle.net/0vL8m9bj/7/
所以這真的很奇怪。看起來規則是:除了最後一個例子外,與3類權重相匹配。
一個更奇怪的事情:如果.section1
是,它顯示光:
https://jsfiddle.net/0vL8m9bj/8/
但要font-weight: 299
- 這意味着更輕,現在看來是大膽:
https://jsfiddle.net/0vL8m9bj/9/
因此,使它更輕便使它大膽。
那麼@font-face
裏面font-weight
的規則是什麼?
將HTML標籤了。 :)不僅css,css3,字體 – AVI
我會驚訝,如果這是特定於HTML。你知道我們沒有的東西嗎?如果是這樣,我邀請你發佈答案。你提到的' – BoltClock