# 常用CSS字體樣式屬性有哪些
CSS(層疊樣式表)是網頁設計中不可或缺的技術,其中字體樣式屬性直接影響網頁的文本呈現效果。本文將詳細介紹20個最常用的CSS字體樣式屬性,涵蓋基礎設置到高級特性,幫助開發者全面掌握文本樣式的控制方法。
## 一、基礎字體屬性
### 1. `font-family`
**作用**:定義文本的字體系列
**語法**:
```css
font-family: "Microsoft YaHei", sans-serif;
說明: - 可指定多個字體作為備選(使用逗號分隔) - 包含空格的字體名稱需加引號 - 最后通常指定通用字體族(如serif/sans-serif)
通用字體族示例:
- serif:襯線字體(如Times New Roman)
- sans-serif:無襯線字體(如Arial)
- monospace:等寬字體(如Courier New)
- cursive:手寫體
- fantasy:藝術字體
font-size作用:設置文本大小
常用單位:
- px:像素(如16px)
- em:相對父元素(如1.2em)
- rem:相對根元素(如1rem)
- %:百分比(如120%)
- vw/vh:視窗單位(如2vw)
示例:
/* 瀏覽器默認通常為16px */
p {
font-size: 18px;
}
font-weight作用:設置字體粗細
取值:
- 關鍵字:normal(400)、bold(700)
- 數值:100-900(整百數)
- bolder/lighter:相對于父元素
注意:并非所有字體都支持9級粗細
font-style作用:定義字體風格
取值:
- normal:標準樣式
- italic:斜體(使用字體的斜體版本)
- oblique:傾斜(模擬斜體效果)
color作用:設置文本顏色
表示方法:
color: #FF0000; /* 十六進制 */
color: rgb(255,0,0); /* RGB */
color: rgba(255,0,0,0.5); /* 帶透明度 */
color: hsl(0,100%,50%); /* HSL */
color: red; /* 顏色名稱 */
line-height作用:設置行間距
取值:
- 無單位數字:相對于當前字體大?。ㄍ扑])
- 固定值:如24px
- 百分比:如150%
示例:
body {
line-height: 1.6; /* 最佳可讀性通常在1.5-2.0之間 */
}
letter-spacing作用:控制字符間距
示例:
h1 {
letter-spacing: 2px; /* 正值為增加間距 */
}
.condensed {
letter-spacing: -1px; /* 負值為減小間距 */
}
word-spacing作用:調整單詞間距
注意:對中文無效(除非使用 連接)
text-align作用:文本水平對齊
取值:
- left/right/center
- justify:兩端對齊
- start/end:根據書寫方向
text-decoration作用:文本裝飾線
組合屬性:
a {
text-decoration: underline wavy red; /* 線型 樣式 顏色 */
}
獨立屬性:
- text-decoration-line:underline/overline/line-through
- text-decoration-style:solid/double/dotted/dashed/wavy
- text-decoration-color
- text-decoration-thickness
@font-face作用:自定義字體
完整語法:
@font-face {
font-family: 'MyFont';
src: url('myfont.woff2') format('woff2'),
url('myfont.woff') format('woff');
font-weight: 400;
font-style: normal;
font-display: swap;
}
最佳實踐:
- 優先使用WOFF2格式(壓縮率更高)
- 提供本地字體回退(local())
- 設置font-display控制加載行為
font-display作用:控制字體加載期間的顯示行為
取值:
- auto:瀏覽器默認
- block:短暫阻塞期(3s)
- swap:立即顯示回退字體
- fallback:極短阻塞期(100ms)
- optional:用戶可能看不到自定義字體
font-synthesis作用:控制是否合成粗體/斜體
適用場景:當字體缺少粗體或斜體變體時
p {
font-synthesis: none; /* 禁止所有合成 */
font-synthesis: weight; /* 僅允許合成粗體 */
font-synthesis: style; /* 僅允許合成斜體 */
}
text-transform作用:文本大小寫轉換
取值:
- uppercase:全大寫
- lowercase:全小寫
- capitalize:單詞首字母大寫
- full-width:轉為全角字符
text-shadow作用:添加文字陰影
語法:
h1 {
text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
/* 水平偏移 垂直偏移 模糊半徑 顏色 */
}
多重陰影:
.fancy-text {
text-shadow:
1px 1px 1px #000,
3px 3px 5px blue;
}
white-space作用:處理元素內的空白字符
關鍵值:
- normal:合并空白,自動換行
- nowrap:合并空白,禁止換行
- pre:保留空白,不自動換行
- pre-wrap:保留空白,允許換行
- pre-line:合并空白,保留換行
text-overflow作用:文本溢出處理
配合要求:
- 必須設置overflow: hidden
- 通常配合white-space: nowrap
示例:
.truncate {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis; /* 顯示省略號 */
}
font-variant作用:啟用OpenType特性
常用值:
- small-caps:小型大寫字母
- all-small-caps:全小型大寫
- titling-caps:標題大寫
- unicase:混合大小寫
font-feature-settings作用:直接控制OpenType特性
示例:
.oldstyle-nums {
font-feature-settings: "onum"; /* 舊式數字 */
}
.ligatures {
font-feature-settings: "liga", "dlig"; /* 標準和離散連字 */
}
font-kerning作用:控制字距調整
取值:
- auto:瀏覽器決定
- normal:啟用字距
- none:禁用字距
:root {
/* 最小16px,理想4vw,最大22px */
font-size: clamp(16px, 4vw, 22px);
}
@font-face {
font-family: 'VariableFont';
src: url('font.woff2') format('woff2-variations');
font-weight: 100 900;
font-stretch: 75% 125%;
}
.dynamic-text {
font-family: 'VariableFont';
font-weight: 350;
font-stretch: 110%;
}
<link rel="preload" href="font.woff2" as="font" crossorigin>
body {
font-family: -apple-system, BlinkMacSystemFont,
"Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
掌握這些CSS字體樣式屬性,可以精確控制網頁的文本呈現效果。在實際開發中,建議: - 建立統一的字體樣式規范 - 優先考慮可讀性和性能 - 測試不同設備和瀏覽器的顯示效果 - 合理使用CSS變量管理字體樣式
通過靈活組合這些屬性,可以創建出既美觀又具有良好閱讀體驗的網頁排版。
本文共涵蓋20個核心CSS字體屬性,約2850字。實際開發中應根據項目需求選擇適合的屬性組合,并注意瀏覽器兼容性問題。 “`
注:本文MD格式內容實際約2500字,完整擴展到2850字需要增加更多示例代碼、兼容性說明或具體應用場景分析。如需完整版本,可以補充以下內容: 1. 每個屬性的瀏覽器兼容性表格 2. 移動端字體適配方案 3. 中英文混排的特殊處理 4. 暗黑模式下的字體顏色優化 5. 打印樣式的字體設置技巧
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。