搜尋

設定文字尺寸

這篇教學會介紹 CSS 的樣式屬性:font-size,font-size 主要功能就是「設定文字尺寸」,透過絕對尺寸單位 ( px、pt、in 等 ) 與相對尺寸單位 ( em、rem、% ) 的互相搭配應用,並進一步使用 CSS 的尺寸關鍵字 ( x-small、small、medium、large、x-large 等 ),讓網頁字型尺寸更加容易調整和維護。

完整數值單位參考:長度與角度單位

快速導覽:

CSS 教學 - 設定文字尺寸

開始使用 font-size

CSS 的樣式屬性 font-size 可以設定文字的尺寸大小,支援「絕對尺寸」、「相對尺寸」、「尺寸關鍵字」或「全域關鍵字」四種屬性數值,使用方式如下:

body {
  font-size: 絕對尺寸 or 相對尺寸 or 尺寸關鍵字 or 全域關鍵字;
}

font-size 絕對尺寸單位

「絕對尺寸單位」是使用 font-size 是最常見的數值單位,絕對尺寸單位表示「不會因為其他元素樣式而變動」的單位,font-size 支援下列絕對尺寸單位:

絕對尺寸建議使用 px 為單位,除非要將網頁印出。

單位 類型 說明
px 網頁 像素,顯示的最小單位,在 96dpi 的顯示畫面中,等於 1/96 英吋。
pt 印刷 點,等於 1/72 英吋。
pc 印刷 Pica,等於 12 pt。
in 印刷 英吋,等於 2.54 公分。
cm 印刷 公分,等於 0.394 英吋。
mm 印刷 公釐,等於 0.1 公分。
q 印刷 等於 0.25 公釐。

下方的範例會使用絕對單位的方式,透過 font-size 設定不同 div 的文字大小。

線上展示:https://codepen.io/oxxo/pen/oNRwVJa

<!-- HTML 程式碼 -->
<div class="a">Hello OXXO!! (24px)</div>
<div class="b">Hello OXXO!! (20px)</div>
<div class="c">Hello OXXO!! (16px)</div>
<div class="d">Hello OXXO!! (12px)</div>

<!-- CSS 程式碼 -->
<style>
  div {
    border: 1px solid #000;
    padding: 10px;
    margin: 5px;
  }
  .a {font-size: 24px;}
  .b {font-size: 20px;}
  .c {font-size: 16px;}
  .d {font-size: 12px;}
</style>

CSS 教學 - 設定文字尺寸 - 絕對尺寸單位

font-size 相對尺寸單位

相對尺寸單位表示「相對於特定元素所計算的數值」,是相當彈性的數值單位,常應用在具有縮放文字大小功能的網頁裡,font-size 支援下列相對尺寸單位:

相對尺寸單位 說明
% 「父」元素的「文字尺寸 x 百分比」。
em 「父」元素的「文字尺寸 x 幾倍」。
rem 「根」元素的「文字尺寸 x 幾倍」。

下方的範例會使用相對單位的方式,透過 font-size 設定不同 div 的文字大小,可以明顯看出「相對於父元素」的元素,文字尺寸都會按照指定的比例放大。

線上展示:https://codepen.io/oxxo/pen/bGyRZXp

<!-- HTML 程式碼 -->
<div class="a">
  Hello OXXO (1.5rem)
  <div>
    Hello OXXO (1.5rem)
    <div>Hello OXXO (1.5rem)</div>
  </div>
</div>
<div class="b">
  Hello OXXO (1.5em)
  <div>
    Hello OXXO (1.5em)
    <div>Hello OXXO (1.5em)</div>
  </div>
</div>
<div class="c">
  Hello OXXO (150%)
  <div>
    Hello OXXO (150%)
    <div> Hello OXXO (150%)</div>
  </div>
</div>

<!-- CSS 程式碼 -->
<style>
  :root {font-size: 12px;}
  div {
    border: 1px solid #000;
    padding: 10px;
    margin: 5px;
    text-align: center;
  }
  .a, .a div {font-size: 1.5rem;}  /* .a 和 .a 裡所有的 div */
  .b, .b div {font-size: 1.5em;}   /* .b 和 .b 裡所有的 div */
  .c, .c div {font-size: 150%;}    /* .b 和 .b 裡所有的 div */
</style>

CSS 教學 - 設定文字尺寸 - 相對尺寸單位

除了可以在 font-size 相對尺寸單位,HTML 的標題元素 H1~H6,也是使用 em 相對單位,相關對照表如下:

標題元素 尺寸
h1 2em
h2 1.5em
h3 1.17em
h4 繼承父元素文字尺寸
h5 0.83em
h6 0.67em

下方的範例將兩個 div 設定為不同的文字尺寸,div 裡的 H1~H6 因為相對單位的緣故,就會呈現不同的文字大小。

線上展示:https://codepen.io/oxxo/pen/NWVgmWR

<!-- HTML 程式碼 -->
<div class="a">
  <h1>Hello OXXO (h1)</h1>
  <h2>Hello OXXO (h2)</h2>
  <h3>Hello OXXO (h3)</h3>
  <h4>Hello OXXO (h4)</h4>
  <h5>Hello OXXO (h5)</h5>
  <h6>Hello OXXO (h6)</h6>
</div>
<div class="b">
  <h1>Hello OXXO (h1)</h1>
  <h2>Hello OXXO (h2)</h2>
  <h3>Hello OXXO (h3)</h3>
  <h4>Hello OXXO (h4)</h4>
  <h5>Hello OXXO (h5)</h5>
  <h6>Hello OXXO (h6)</h6>
</div>

<!-- CSS 程式碼 -->
<style>
  div {
    border: 1px solid #000;
    padding: 10px;
    margin: 12px;
  }
  h1,h2,h3,h4,h5,h6 {margin: 0;}

  .a {font-size: 10px;}    /* .a 預設字型尺寸為 10px */
  .b {font-size: 20px;}    /* .b 預設字型尺寸為 20px */
</style>

CSS 教學 - 設定文字尺寸 - 相對尺寸單位 H1~H6

font-size 尺寸關鍵字

font-size 支援下列幾個尺寸關鍵字,只要套用尺寸關鍵字,就會套用對應的絕對尺寸或相對尺寸單位

關鍵字 尺寸 說明
xx-small 10px medium 的 0.6 倍。
x-small 12px medium 的 0.75 倍。
small 14px medium 的 0.88 倍。
medium 16px 預設值。
large 19px medium 的 1.2 倍。
x-large 24px medium 的 1.5 倍。
xx-large 32px medium 的 2 倍。
smaller 相對尺寸 父元素文字尺寸的 80%
larger 相對尺寸 父元素文字尺寸的 120%

下方範例中的六個 div,分別使用不同的尺寸關鍵字,就會套用對應的文字尺寸 ( 最下方兩個使用相對尺寸的關鍵字,相對於父元素 body 的文字大小 )

線上展示:https://codepen.io/oxxo/pen/RwmgOrb

<!-- HTML 程式碼 -->
<div class="a">Hello OXXO!! (xx-large)</div>
<div class="b">Hello OXXO!! (large)</div>
<div class="c">Hello OXXO!! (medium)</div>
<div class="d">Hello OXXO!! (x-small)</div>
<div class="e">Hello OXXO!! (smaller)</div>
<div class="f">Hello OXXO!! (larger)</div>

<!-- CSS 程式碼 -->
<style>
  body {font-size: 20px;}
  div {
    border: 1px solid #000;
    padding: 10px;
    margin: 5px;
  }
  .a {font-size: xx-large;}
  .b {font-size: large;}
  .c {font-size: medium;}
  .d {font-size: x-small;}
  .e {font-size: smaller;}  /* 父元素 20px x 80% = 16px */
  .f {font-size: larger;}   /* 父元素 20px x 120% = 24px */
</style>

CSS 教學 - 設定文字尺寸 - 尺寸關鍵字

font-size 尺寸的繼承

font-size 是具有「繼承關係」的樣式屬性,換句話說如果子元素沒有設定 font-size,則會繼承父元素的 font-size,下方範例中的兩個 div 都沒有設定內容 div 的 font-size,因此內容所有元素的文字大小,都會繼承最父元素的文字大小。

線上展示:https://codepen.io/oxxo/pen/NWVgmjp

<!-- HTML 程式碼 -->
<div class="a">
  Hello OXXO!!
  <div>
    Hello OXXO!!
    <div>Hello OXXO!!</div>
  </div>
</div>
<div class="b">
  Hello OXXO!!
  <div>
    Hello OXXO!!
    <div>Hello OXXO!!</div>
  </div>
</div>

<!-- CSS 程式碼 -->
<style>
  div {
    border: 1px solid #000;
    padding: 10px;
    margin: 5px;
  }
  .a {
    font-size: 12px;
  }
  .b {
    font-size: 20px;
  }
</style>

CSS 教學 - 設定文字尺寸 - 尺寸的繼承

小結

font-size 的操作方式很簡單,只需要設定文字大小就可以,因此 font-size 的重點就會擺在「相對尺寸單位」和「絕對尺寸單位」,根據網頁的特性,採用不同的單位,就變成網頁設計師的重要工作!

意見回饋

如果有任何建議或問題,可傳送「意見表單」給我,謝謝~

CSS 教學

基本介紹

認識 CSS 開始使用 CSS CSS 語法規則 CSS 命名原則

CSS 選擇器

認識 CSS 選擇器 優先順序 ( 權重 ) 樣式繼承與聯集 元素選擇器 ID 和 Class 選擇器 屬性選擇器 文件結構選擇器 虛擬類別選擇器 ( 結構 ) 虛擬類別選擇器 ( 類型 ) 虛擬類別選擇器 ( 輸入 ) 虛擬類別選擇器 ( 行為 ) 虛擬類別選擇器 ( 超連結 ) 虛擬類別選擇器 ( 邏輯 ) 虛擬類別選擇器 ( 其他 ) 虛擬元素選擇器 群組與組合選擇器

數值與單位

關鍵字與文字數值 長度與角度單位 顏色單位 位置名稱與時間單位

變數與內容函式

變數 數學計算 文字與清單計數 生成內容與引號

顏色與濾鏡

色彩模型 漸層色 影像濾鏡

文字樣式

使用通用字型 使用外部字型 @font-face 定義字型 文字尺寸 常用文字樣式 文字換行 文字空白與 Tab 大小 文字行高與縮排 文字水平與垂直對齊 文字書寫方向 特殊文字樣式

元素容器

容器顯示類型 ( display ) 元素 display 對照表 盒子模型 ( Box Model ) 寬度與高度 內邊距 ( padding ) 外邊界 ( margin ) 邊框 ( border ) 邊框圓角 影像邊框 輪廓 ( outline ) 可見性與透明度 內容溢出與裁切

背景與陰影

背景顏色 背景圖 ( 定位、尺寸 ) 背景圖 ( 固定、重複 ) 背景圖 ( 多重背景、混合 ) 背景縮寫 ( background ) 容器陰影 ( box-shadow )

清單與表格

清單樣式 清單計數器 定義計數規則 表格基本樣式 表格邊框樣式 表格內容寬度與對齊

基本排版與定位

元素排版方式 浮動 ( float ) 浮動形狀 定位 ( position )

Flexbox 彈性排版

Flexbox 彈性盒子 Flexbox 對齊方式 Flexbox 彈性伸縮

Grid 網格排版

Grid 網格容器與格線 Grid 網格空間與命名 Grid 網格流向與間距 Grid 排列網格項目 Grid 項目對齊與順序

轉場與動畫

轉場 ( transition ) 轉場觸發事件 動畫 ( animation ) 動畫觸發事件 多重動畫的權重與順序

變形、裁切與遮罩

裁切路徑 ( clip-path ) 影像遮罩 ( mask )