iT邦幫忙

2026 iThome 鐵人賽

DAY 14
1

https://ithelp.ithome.com.tw/upload/images/20260901/201788260ZLQ8Yn1qU.png

昨天封面是 Vue,今天換 React 當封面主角!剛好我前陣子有努力惡補了一點 React,雖然還是不太會寫,但有特別整理成簡報,有興趣歡迎來看看呦!


繼續 CSS!

昨天介紹了文字顏色、邊框、外邊框、陰影與透明度,這些屬性能為網頁建立清楚的視覺層次。除了元素本身的外觀,文字也是影響使用者閱讀體驗的重要部分。

今天要來認識 CSS 的文字樣式屬性,透過字體大小、粗細、字體家族、斜體與文字裝飾,讓內容更容易閱讀,也能更有效地呈現重點。

直接開始介紹吧!╰(°▽°)╯

Font-size 文字大小

font-size 屬性可用於設定文字大小,是影響可讀性的關鍵因素之一。文字排版時,可以利用較大的字體作為標題、適中字體作為內文,能有效建立內容層次。該屬性支援多種單位設定,可依照不同需求選擇合適的單位來控制字體大小。

  • 常用單位

    1. px(像素):絕對單位,跨瀏覽器表現一致。

      p { font-size: 16px; }
      h1 { font-size: 32px; }
      
    2. %(百分比):相對單位,相對於父元素的百分比。

      .parent {
      	 font-size: 20px;
      	 .child {
      		  font-size: 150%; /* 實際為 30px */
      	 }
      }
      
    3. em:相對單位,相對於父元素的字體大小;當調整父元素的字體大小時,內部子元素也會跟著更動。

      .parent {
      	 font-size: 16px;
      	 .child {
      		  font-size: 1.5em; /* 實際為 24px (16px × 1.5) */
      	 }
      }
      
    4. rem:相對單位,相對於根元素(<html>)的字體大小;當調整根元素的字體大小時,使用 rem 作為單位的元素都會更動。

      html { font-size: 16px; }
      p { font-size: 1rem; }      /* 16px */
      h1 { font-size: 2rem; }     /* 32px */
      
  • 使用建議

    • 一般內文建議使用 14px~18px 之間的文字大小,避免使用過小的字體(小於 12px),避免影響閱讀體驗。

    • 優先使用 rem 作為字體大小單位,可以更方便地實現響應式的文字大小調整。

      https://ithelp.ithome.com.tw/upload/images/20260901/20178826m0af3bwlEc.png

    • 在使用輸入框和按鈕等元件時,若文字大小小於 16px,iOS Safari 瀏覽器點擊時會觸發「放大」效果。如果不希望介面因放大而位移,請注意這類元件的字體大小。

Font-weight 文字粗細

font-weight 屬性可用於設定文字的粗細程度,是強調重要內容和建立視覺層次的重要工具。透過使用較粗的文字作為標題、選用適當的粗細作為內文,能有效增加資訊的層次感。

由於粗細效果取決於字體本身的設計,使用時需注意所選字體是否支援完整的字重範圍,如果字體缺乏特定字重的版本,瀏覽器將選用最接近的可用字重。為了達到最佳視覺呈現,建議使用有完整字重的字體。

  • 數值設定

    字體粗細可以使用數值 100~900 表示,每 100 為一個級距,數字越大代表字體越粗。

    .thin {
      font-weight: 100;
    } /* 極細 */
    .light {
      font-weight: 300;
    } /* 細體 */
    .normal {
      font-weight: 400;
    } /* 正常(預設) */
    .medium {
      font-weight: 500;
    } /* 中等 */
    .semibold {
      font-weight: 600;
    } /* 半粗體 */
    .bold {
      font-weight: 700;
    } /* 粗體 */
    .extrabold {
      font-weight: 800;
    } /* 特粗 */
    .black {
      font-weight: 900;
    } /* 極粗 */
    

    也可以使用關鍵字來設定:

    p {
      font-weight: normal;
    } /* 等同於 400 */
    strong {
      font-weight: bold;
    } /* 等同於 700 */
    

    https://ithelp.ithome.com.tw/upload/images/20260901/20178826tIXFP9sDd9.png

  • 使用建議

    • 加粗字體粗細,可用於標題或內文中的重點,增加文字的視覺層次與清晰度。
    • 內文文字不適合使用過粗的字重,以免影響閱讀舒適度。
    • 並非所有字體都支援所有粗細級距,使用前可以先確認字體是否支援對應的粗細字重。

Font-family 字體設定

font-family 屬性用來設定元素使用的字體,為了避免網頁出現缺字情況,可以指定多個備用字體。

  • 基本語法

    • 多個字體以逗號分隔。

    • 含有空格的字體名稱需用引號括起來。

    • 字體按優先順序從左到右排列。

      https://ithelp.ithome.com.tw/upload/images/20260901/201788265fdaaDVRkb.png

  • 字體設定

    建議的字體優先排列順序:

    https://ithelp.ithome.com.tw/upload/images/20260901/20178826iT2diaK2kZ.png

    • 英文字體:設定在最前面,中文字體通常包含英文字元,但如果想讓英文使用特定字體,就必須將英文字體放在中文字體之前。
    • 中文字體:設定在英文字體後面,當瀏覽器將英文字體套用於英文字元後,剩下的中文字元就會依序使用後面設定的中文字體。
    • 備用字體:設定在主要中英文字體後面,當前面的字體都無法使用時,為避免網頁缺字,系統會採用這個字體。
    • 瀏覽器預設:設定於結尾,這些是特殊關鍵字,包含:serifsans-serifmonospacecursive。由於不同瀏覽器可能對應到不同的實際字體,我們統一使用這些關鍵字來表示預設字體類型。
  • 系統預設字體

    在網頁設計中,為確保字體能正常顯示,會選用已安裝在使用者電腦上的系統預設字體,作為主要或備用的字體使用。以下依照字體類型,整理各系統常見的預設字體,供網頁設計時參考:

    1. 襯線體(Serif):筆畫末端有裝飾性線條,中文又稱「明體、宋體」,常被使用於印刷品、正式文件及長篇閱讀。

      • 英文字體:Georgia、Times New Roman

      • 中文字體:新細明體(PMingLiU)、儷宋 Pro(LiSong Pro)、宋體-簡(Songti SC)

      • 瀏覽器預設關鍵字:serif

    2. 無襯線體(Sans-serif):筆畫末端簡潔沒有裝飾,中文又稱「黑體」,常被使用於螢幕閱讀、網頁內容。

      • 英文字體:Segoe UI、Verdana、Arial、Helvetica

      • 中文字體:微軟正黑體(Microsoft JhengHei)、蘋方(PingFang TC)

      • 瀏覽器預設關鍵字:sans-serif

    3. **等寬字體(Monospace):**每個字元寬度相同,適合程式碼顯示。

      • 英文字體:Courier New、Monaco
      • 瀏覽器預設關鍵字:monospace
    4. **手寫體(Cursive):**模擬手寫效果的字體,適合裝飾性文字。

      • 瀏覽器預設關鍵字:cursive
  • 網頁字體 (Web Fonts)
    除了上述介紹的系統預設字體外,若想在網頁中使用特殊字體,直覺做法是將字體檔案附加於網頁專案中,但這可能會導致以下問題:

    1. **字體檔案過大:**英文字體檔案通常較小,而完整的中文字體檔案通常較大,容易影響網頁載入速度。
    2. **授權限制:**許多字體的授權條款明確禁止將字體檔案直接傳送給使用者(網頁嵌入使用),即使你已購買該字體,也不能將完整檔案放在網站上供人下載。

    為解決上述問題,我們可使用「網頁字體」服務,例如:Google Fonts、Adobe Fonts 等。使用網頁字體服務,就可以於網頁上使用特殊字體了!

    https://ithelp.ithome.com.tw/upload/images/20260901/20178826ac6S0zjQRq.png

    • Google Fonts(最廣泛使用)
      • 完全免費且開源,授權允許商業使用及網頁嵌入。

      • 熱門字體:

        • 中文字體:思源黑體(Noto Sans TC)、思源宋體(Noto Serif TC)
        • 英文字體:Inter、Roboto、Open Sans
      • 使用方式:

        1. 前往 Google font 網頁,選擇想使用的字體。
        2. 選擇完成後,點選右上角按鈕,查看已選擇的字體清單。
        3. 點選「Get embed code」按鈕,進入後選擇「Web」。
        4. 下方會提供匯入網頁的 HTML 與 CSS 程式碼,將其貼入自己的網頁中即可使用。
      • 使用建議

        • 適當運用字體可大幅提升設計品質與閱讀體驗。然而,選擇字體時需考慮網頁的整體視覺風格,避免使用過多不同字體。過多字體不僅會影響視覺一致性,還可能增加網頁載入時間。
        • 為了確保網頁在不同裝置中正常顯示,應設定多個備用字體,避免出現缺字情況。

Font-style 文字斜體

font-style 屬性可用於設定文字斜體效果。由於斜體樣式取決於字體本身的設計,使用時需注意所選字體是否支援真正的斜體字。若字體缺乏斜體版本,瀏覽器將自動傾斜正常文字以模擬斜體效果。為達到最佳視覺呈現,建議選用具備完整斜體支援的字體。

.text {
  font-style: normal; /* 預設 */
  font-style: italic; /* 斜體 */
}

https://ithelp.ithome.com.tw/upload/images/20260901/20178826MXBxUwmV6z.png

Text-decoration 文字底線

text-decoration 屬性用來設定文字底線,瀏覽器預設樣式會為連結新增底線,若想移除底線可以使用這個屬性。

.text {
  text-decoration: underline;     /* 新增底線 */
  text-decoration: line-through;  /* 新增刪除線 */
  text-decoration: none;          /* 移除底線(常用於連結)*/
}

https://ithelp.ithome.com.tw/upload/images/20260901/20178826k4m50ZPj00.png

總結

今天介紹了 CSS 中常見的文字樣式屬性,這些屬性可以分成三個面向:文字大小與粗細、字體選擇,以及文字的斜體與裝飾。

  1. 使用 font-size 搭配 px%emrem 控制文字大小。一般內文應優先考量可讀性,並可使用 rem 建立較容易維護的尺寸系統。
  2. 使用 font-weight 調整文字粗細,數值範圍通常為 100900,也可以使用 normalbold 等關鍵字。
  3. 使用 font-family 設定字體時,應依序提供英文字體、中文字體、備用字體與通用字體家族,降低缺字或字體無法載入的問題。
  4. 使用 font-style 設定斜體,使用 text-decoration 設定底線、刪除線或移除裝飾。

實際設計時,不應只追求特殊效果,而應同時考慮閱讀舒適度、字體授權、載入效能與不同裝置的顯示結果。先建立清楚的文字層級,再搭配合適的字體與裝飾,才能讓內容更容易閱讀,也讓網頁的視覺風格保持一致。

https://ithelp.ithome.com.tw/upload/images/20260901/20178826bnJCIv9U5I.png


上一篇
Day 13 - 區塊陰影、文字陰影、透明度
系列文
CSS 到底在幹嘛?30 天拯救你被 AI 爆改的網頁排版!14
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言