首頁技術(shù)文章正文

怎樣通過font屬性控制CSS字體樣式?

更新時(shí)間:2023-03-03 來源:黑馬程序員 瀏覽量:

為了更方便地控制網(wǎng)頁中各種各樣的字體,CSS提供了一系列的字體樣式屬性,具體如下。

(1)font-size屬性:字號(hào)

font-size屬性用于設(shè)置字號(hào),該屬性的屬性值可以為像素值、百分比數(shù)值、倍率等。表3-l列舉了fomt-size屬性常用的屬性值單位,具體如下。

單位

說明

em

倍率單位,指相對于當(dāng)前對象內(nèi)文本的字體倍率

px

像素值單位,是阿頁設(shè)計(jì)中常用的單位

%

百分比數(shù)值單位,指相對于當(dāng)前對象內(nèi)文本的字體百分比

在表1所列的常用單位中,推薦使用像素值單位—px。例如,將網(wǎng)頁中所有段落文本的字號(hào)設(shè)為12px,CSS樣式示例代碼如下:

· p(font-size:12px;)

(2)font-family屬性:字體fomt-family屬性用于設(shè)置字體。網(wǎng)頁中常用的字體有宋體、微軟雅黑、黑體等。例如,將網(wǎng)頁中所有段落文本的字體設(shè)置為微軟雅黑,CSS樣式示例代碼如下:

p[font-family:“微軟雅黑“:]

fomt-family屬性可以同時(shí)指定多個(gè)字體,各字體之間以逗號(hào)隔開。如果瀏覽器不支持第一種字體,則會(huì)嘗試下一種,直到匹配到合適的字體。例如,同時(shí)指定3種字體的CSS樣式示例代碼如下:

body[font-fanily:“華文彩云”,“宋體“,“黑體";]

當(dāng)應(yīng)用上述代碼后,瀏覽器會(huì)首選“華文彩云”字體,如果用戶計(jì)算機(jī)上沒有安裝該字體則選擇“宋體”。以此類推,當(dāng)fomt-fammily屬性指定的字體都沒有安裝時(shí),瀏覽器就會(huì)選擇用戶計(jì)算機(jī)默認(rèn)的字體。使用font-family屬性設(shè)置字體時(shí),需要注意以下幾點(diǎn)。

 · 各種字體之間必須使用英文逗號(hào)隔開。

 · 中文字體需要加英文引號(hào),但英文字體不需要加引號(hào)。當(dāng)需要設(shè)置英文字體時(shí),英文字體名必須位于中文字體名之前。CSS樣式示例代碼如下:

body[font-fanily:Arial,“微款雅黑”,“未體”,”黑體”:] /“正確的書寫方式"
body(font-fanijy:“微軟稚黑”,“宋體”?!昂隗w”,Arial:) /“錯(cuò)誤的書寫方式"/

 · 如果字體名包含空格、#、S等符號(hào),則該字體必須加英文引號(hào),如“font-family.“Times New Roman":"

 · 盡量使用系統(tǒng)欺認(rèn)字體,以保證網(wǎng)頁中的文字在任何用戶的瀏覽器中都能正確顯示。

(3)font-weight屬性:字體粗細(xì)

font-weighn 屬性用于定義字體的粗細(xì),其屬性值如表所示。

描述

normal

默認(rèn)屬性值,定義標(biāo)準(zhǔn)樣式的字符

bold

定義粗體字符

bolder

定義更粗的字符

lighter

定義更細(xì)的字符

100~900(100的整數(shù)倍)

定義由細(xì)到相的字符,其中400等同于normal,700等同于bold,數(shù)值越大字體越粗

表2列舉了常用的font-weight屬性的屬性值。在實(shí)際工作中,常用的屬性值為normal和bol,分別用于定義正常和加粗顯示的字體。

(4)font-variant屬性:變體

font-variant 屬性用于設(shè)置英文字符的變體,一般用于定義小型大寫字體,該屬性僅對英文字符有效。font-variant 屬性的可用屬性值如下。

· normal:默認(rèn)值,測覽器會(huì)顯示標(biāo)準(zhǔn)的字體。small-caps:瀏覽器會(huì)顯示小型大寫的字體,即所有的小寫字

母均會(huì)轉(zhuǎn)換為大寫字母。但是所有使用小型大寫字體的字母和其余文本相比,字體尺寸更小。例如,圖3-l2中框線標(biāo)注的小型大寫字母,就是使用font-variant屬性設(shè)置的。
1677823497558_53.png

(5)font-style屬性:字體風(fēng)格

fomt-style屬性用于定義字體風(fēng)格。例如,設(shè)置斜體、傾斜或正常字體。font-style屬性的可用屬性值如下。

· nommal:默認(rèn)值,測覽器會(huì)顯示標(biāo)準(zhǔn)的字體樣式。

· italic:測覽器會(huì)顯示斜體的字體樣式。

· oblique:測覽器會(huì)顯示傾斜的字體樣式。

當(dāng)font-style屬性取值為italic或oblique時(shí),文字都會(huì)顯示傾斜的樣式,兩者在顯示效果上并沒有本質(zhì)區(qū)別。但italie使用了字體的傾斜屬性,并不是所有的字體都有傾斜屬性;而obhique只是使文字傾斜,無關(guān)該字體有沒有傾斜屬性。

(6)fomt屬性:綜合設(shè)置字體樣式

fomt屬性用于對字體樣式進(jìn)行綜合設(shè)置,其基本語法格式如下:

選擇器{font:font-style font-varlant font-weight font-size/line-height font-fanlly:}

使用fomt屬性綜合設(shè)置字體樣式時(shí),必須按上述語法格式中的順序書寫,各個(gè)屬性以空格隔開(line-height用于設(shè)置行間距,屬于文本外觀屬性,在后面將具體介紹)。例如,下面設(shè)置字體樣式的示例代碼:

p{font-fanily:Arial,"宋體";font-size:30px; font-style:italic; font-weight:boid; font-variant:
amal1-cape; line-height:40px;}

上述代碼可以使用fomt屬性綜合設(shè)置字體樣式,其等價(jià)于:

p{font:italic small-caps bold 30px/40px Arial,"宋體";}

其中,不需要設(shè)置的屬性可以省略(省略的屬性將取默認(rèn)值),但必須保留fomt-size和 font-family屬性,否則font 屬性將不起作用。

下面通過一個(gè)案例具體演示如何使用fomt屬性綜合設(shè)置字體樣式,如下所示。

<!doctype html>
<html>
<head>
<meta charset.-"utf-8">
<title>font l國性</title>
<style type-"text/css">
.one{ font:italic 18px/30px"隸書":}
.two{ font:italic l8px/30px;}
</style>
</head>
<body>
<p class="one">段落1:使用font 屬性綜合設(shè)置段落文本的字體風(fēng)格、字號(hào),行高和字體。</p>
<p class="two“>段落2:使用font屬性綜合設(shè)置段落文本的字體風(fēng)格、字號(hào)和行高。由于省略了字體屬性font-family,
這時(shí)font屬性不起作用。</p>
</body>
</htnl>

定義了兩個(gè)段落,同時(shí)使用fomt屬性分別對它們進(jìn)行相應(yīng)的設(shè)置,效果如圖。

1677824575560_54.png

從圖中可以看出,font屬性設(shè)置的樣式并沒有對第二個(gè)段落文本生效,這是因?yàn)閷Φ诙€(gè)段落文本的設(shè)置中省略了字體屬性“font-family”。

(7)@font-face規(guī)則

@font-face是CSS3的新增規(guī)則,用于定義服務(wù)器字體。通過@font-face規(guī)則,可以使用計(jì)算機(jī)未安裝的字體。@font-face規(guī)則定義服務(wù)器字體的基本語法格式如下:

@font-face{
     font-family:字體名稱:
     src:字體路徑;
}

在上述語法格式中,font-family用于指定該服務(wù)器字體的名稱,該名稱可以隨意定義;sre用于指定該字體文件的路徑。

下面通過一個(gè)剪紙字體的案例來演示@font-face規(guī)則的具體用法,如下所示。

<!doctype html>
<html>
<head>
<meta charset-"utf-8">
<title>afont-face規(guī)則</title>
<style type-"text/css">
@font-face{
font-fanily:jianzhi;   /*服務(wù)器字體名稱*/
src:url(FZJZJN.TTF);   /*服務(wù)器字體文件的路徑*/
}
p{
font-fanily:jianzhi;   /*設(shè)置字體樣式*/
font-size:32px;
}
</style>
</head>
<body>
<p>明確責(zé)任</p>
<p>肩負(fù)使命</p>
</body>
</htnl>

在例3-6中,第7~10行代碼用于定義服務(wù)器字體;第12代碼用于為段落標(biāo)簽設(shè)置字體樣式。效果如圖所示。

1677825412565_明確責(zé)任肩負(fù)使命.png

從圖中可以看出,當(dāng)定義并設(shè)置服務(wù)器字體后,頁面就可以正常顯示剪紙字體??偨Y(jié)例3-6,可以得出使用服務(wù)器字體的步驟。

①下載字體,并存儲(chǔ)到相應(yīng)的文件夾中。

②使用@font-face規(guī)則定義服務(wù)器字體。

③對元素應(yīng)用“font-family”字體樣式。


分享到:
在線咨詢 我要報(bào)名
和我們在線交談!