網(wǎng)頁(yè)制作字體選擇心得和字體合成匹配步驟
作者:佚名 時(shí)間:2014-03-14 分享到:
小編制作公司網(wǎng)站時(shí)發(fā)現(xiàn)網(wǎng)站級(jí)聯(lián)樣式表標(biāo)準(zhǔn)CSS有個(gè)過(guò)于簡(jiǎn)單化的字體匹配算法:如果本地客戶機(jī)的字體集中沒(méi)有指定的字體,就會(huì)用一個(gè)一般字體代替。當(dāng)然,效果看起來(lái)通常不會(huì)很好,而且可能會(huì)嚴(yán)重地破壞顯示。況且,與一把字體比起來(lái),字體的替代品更多。css標(biāo)準(zhǔn)極大地?cái)U(kuò)展了css字體匹配樣式,包括引進(jìn)了新的@規(guī)則,這樣網(wǎng)站制作技術(shù)人員就可以在自己的文檔中定義、下載和使用新的字體了。 CSS字體匹配步驟
CSS字體匹配算法有4個(gè)步驟。第一步很簡(jiǎn)單,就是在用戶機(jī)器上找到指定的字體,然后使用它;這可能是在樣式表規(guī)則中指定的多個(gè)字體系列中的一個(gè),其分別方式依據(jù)是它們顯示的順序。
第二步是在用戶機(jī)器上找不到規(guī)則中指定的字體時(shí)才采用,也就是讓瀏覽器努力從類似的本地字體中找到相近的匹配項(xiàng)。例如,請(qǐng)求使用Helvetica時(shí),可能最終使用的是Arial,因?yàn)樗鼈兪窍嗨频膕ans-serif字體。
CSS字體匹配算法中的第三步,是讓瀏覽器嘗試著合成字體,也就是采用某種本地字體,然后將其改變?yōu)榕c指定字體相匹配的字體。例如,請(qǐng)求命名用72磅的Helvetica時(shí),先采用本地12磅的Arial字體,然后按比例增加其大小以達(dá)到要求的字體大小。
如果這些努力都失敗的話,倘若作者已了提供了合適的外部字體定義,瀏覽器就可以采取第四個(gè)步驟,下載需要的字體。這些外部的字體定義是用@font-face這種@規(guī)則創(chuàng)建的。它的常用語(yǔ)法為:
@font-face{ descriptor:value; ... descriptor:value; }
每個(gè)@font-face規(guī)則都為瀏覽器定義了一個(gè)新的字體。隨后對(duì)字體的請(qǐng)求可能會(huì)從這些新字體中行到滿足。瀏覽器會(huì)使用多種描述符值,以確何保提供的字體能夠匹配請(qǐng)求的字體。 基本字體描述符
在@font-face規(guī)則中命名用的基本字體描述符符合css字體屬性,接受的值也與那些屬性相同。因此,可以使用font-family、font-style、font-variant、font-weight、font-stretch和font-size描述符及其相關(guān)的值,來(lái)定義瀏覽器可用的新字體。例如:
@font-face{ font-family: "kumquat Sans"; font-style: normal; italic; src :url("路徑") }
上述代碼定義了一個(gè)名為kumquat的字體,從kumquat.com可以下載該字體。在下載的字體中,Kumquat Sans的正常版本和斜體版本都可用。因?yàn)闆](méi)有提供其他的字體描述符,瀏覽器會(huì)假設(shè)其他所有的字體屬性(粗細(xì)、變體、等等)都可以在這種字體中行到滿足。
一般來(lái)說(shuō),忽略字體描述符可以使瀏覽器匹配任何為該描述提供的值。通過(guò)為字體描述符提供一個(gè)或多個(gè)值,就可以限制瀏覽器只匹配以后字體請(qǐng)求中的那些值,以便更好地確保瀏覽器以后能夠很好地進(jìn)行匹配。例如,如果字體不包含斜體版本而且沒(méi)有告訴瀏覽器,那么瀏覽器在試圖完成對(duì)該字體斜體樣式的請(qǐng)求時(shí),就會(huì)使用不正確的字體。