您好,登錄后才能下訂單哦!
本篇內容主要講解“如何理解CSS中Font的一些基本知識點”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何理解CSS中Font的一些基本知識點”吧!
1、什么是字體
字體是文字的外在形式,就是文字的風格,是文字的外衣。比如行書、楷書、草書,都是一種字體。同樣一個字每個人寫起來都會有差異,可以說每個人都有一套潛在的字體庫。對于web頁面來說,字體就是計算機上存儲的一套文字顯示方式。通過對文字進行一些特殊處理(比如末端加強)來提高不同環境中文字的可讀性。
比如同樣大小的文字,在不同字體下的可讀性是不同的。
一般來講,一款字庫的誕生,要經過字體設計師的創意設計、字體制作人員一筆一劃的制作、修改,技術開發人員對字符進行編碼、添加程序指令、裝庫、開發安裝程序,測試人員對字庫進行校對、軟件測試、兼容性測試,生產部門對字庫進行最終產品化和包裝上市等幾個環節。通常情況下文字跟字體庫是一對多的關系,所以對于多語言支持的web頁面,要求設計師在選用字體時不能光考慮一種語言的情況。
2、font-family
關于font-family的介紹大多數只是說明他可以設置文本中的字體名稱序列。其實font-family真正的作用是將一系列近似的字體按照優先級順序組成一個列表,瀏覽器從第一項開始依次查找,找到第一種可用的字體來顯示文字。
font-family: Times New Roman,"open-sans","幼圓",sans-serif
當瀏覽器顯示一個字符時,會首先從Times New Roman中尋找這個字符,如果找到就用Times New Roman字體來顯示這個字符。如果沒找到就去open-sans中尋找,如果找到就用該字體顯示字符,沒找到就會依次尋找下去,如果在通用字體庫sans-serif中也沒有找到就會用一個缺字符代替(通常是小方框)。
<p style='font-family: Times New Roman,"open-sans","幼圓",sans-serif'>
<span>時間就是金錢</span><span>Time is money.</span>
</p>
比如上面這段代碼,對于漢字部分瀏覽器會先去Times New Roman中查找,沒有找到,接著再去open-sans中查找,仍然沒有找到,繼續到“幼圓”中尋找,幼圓中可以找到對應字符則用該字體來顯示。對于英文部分可以在Times New Roman中尋找則會用該字體來顯示。
font-family中有時候字體加引號有時候不加引號。區別在于對字體名稱中空格的處理不同。不加引號時,忽略字體左右兩端的空白字符,單詞之間的空白字符被解釋為一個空白字符。比如font-family: Times New Roman , sans-serif。被解釋為font-family:Times New Roman,sans-serif。加引號時,需要保留引號內的所有空格。比如font-family:"Times New Roman",sans-serif。瀏覽器會去尋找“Times New Roman”這個字體。
3、通用字體族
w3c建議在定義字體是最后以一個類別結尾,例如sans-serif,來保證不同操作系統下網頁都能夠正確顯示。常見的字體族為serif(襯線字體)、sans-serif(非襯線字體),可以簡單理解為在所有字體都是失效的情況下,瀏覽器從字體族中選擇一種字體來顯示。
一種字體族代表了擁有某類特性的多種字體,字體族中字體的選擇完全有瀏覽器決定。設計者給出的字體應該盡可能覆蓋所有系統,而不應該依賴字體族。字體族一定要放到font-family的最后一位。
serif 襯線字體,通常是指使用末端加強原則的字體,通過在文字末端加入細小變化來改變小號文字的可讀性。
上述字體都是襯線字體,文字的末端使用了襯線。陳賢字體具有較高的可讀性,通常用于以大段文字作為表現形式的作品如報紙、書籍等。常見的襯線字體有Georgia, Garamond, Times New Roman, 中文的宋體等等。
sans-serif非襯線字體,襯線字體以外的所有字體都成為非襯線字體。非襯線字體的線條比較均勻,通常在藝術字、標題中的使用較多。
由于非襯線字體字條比較均勻,所以在小號文字下的可讀性不如襯線字體。常見的非襯線字體有Trebuchet MS, Tahoma, Verdana, Arial, Helvetica, 中文的幼圓、隸書等等。
綜上所述,襯線字體適合小號文字的顯示,如果使用非襯線字體要保證font-size足夠大,以確保正文內容的可讀性。11px下的英文推薦使用襯線字體,對于中文,無論如何都不推薦11px下顯示。
4、@font-face
@font-face是鏈接服務器上的字體的一種方式,就像制定圖片鏈接一樣,瀏覽器會根據這條指令把對應字體下載到本地緩存,用它去修飾文本。
<identifier>:字體名稱
<url>:此值指的是你自定義的字體的存放路徑,可以是相對路徑也可以是絕路徑
<string>:此值指的是你自定義的字體的格式,主要用來幫助瀏覽器識別,其值主要有以下幾種類型:truetype, opentype,Web Open Font Format, embedded-opentype, svg等
<font>:定義字體相關樣式,符合該樣式設定的文本會使用該字體顯示。
truetype(.ttf)、opentype(.otf)這兩種格式在絕大多數瀏覽器上都能正常工作。Web Open Font Format(.woff)是Web字體中最佳格式,他是一個開放的TrueType/OpenType的壓縮版本,同時也支持元數據包的分離。Embedded Open Type(.eot)為IE的私有字體格式。svg(.svg)字體是基于SVG字體渲染的一種格式。下表中列出了這些格式的瀏覽器兼容性。
CSS Code復制內容到剪貼板
@font-face{
font-family: 'open-sans';
src: url('./open-sans/OpenSans-Regular.eot'); /* IE9+ */
src: url('./open-sans/OpenSans-Regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('./open-sans/OpenSans-Regular.woff') format('woff'), /* chrome、firefox */
url('./open-sans/OpenSans-Regular.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
url('./open-sans/OpenSans-Regular.svg#fontname') format('svg'); /* iOS 4.1- */
}
@font-face{
font-family: 'open-sans';
src: url('./open-sans/OpenSans-Bold.eot'); /* IE9+ */
src: url('./open-sans/OpenSans-Bold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('./open-sans/OpenSans-Bold.woff') format('woff'), /* chrome、firefox */
url('./open-sans/OpenSans-Bold.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
url('./open-sans/OpenSans-Bold.svg#fontname') format('svg'); /* iOS 4.1- */
font-weight:bold;
}
CSS Code復制內容到剪貼板
<p style='font-family: open-sans,sans-serif'>
<span>時間就是金錢</span><span>Time is money.</span>
</p>
<p style='font-family: open-sans,sans-serif;font-weight:bold;'>
<span>時間就是金錢</span><span>Time is money.</span>
</p>
上述代碼中兩次@font-face命令定義了一個字體族,在普通情況下使用OpenSans-Regular字體,粗體時使用OpenSans-Bold字體。這也印證了我們上文所說,對于字體族中的字體由瀏覽器根據當前設置自動選擇。
如果要使用@font-face通常需要做一些優化工作,比如有的字體庫太大就需要只保留網頁中用到的文字,對于中文字體更是如此,這時候字蛛(FontSpider)工具可以來幫助我們;對于進一步優化,可以將字體文件以base64編碼方式嵌入到css文件中來減少一次http請求,小米主頁就是采用這種方式(這里和這里)。
對于字體庫的壓縮可以使用這款工具。
到此,相信大家對“如何理解CSS中Font的一些基本知識點”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。