CSS 文字轉換 (text-transform)

text-transform 用來控制文字的大小寫轉換,常用於英文文字的格式化。

屬性值

none(預設值)

不做任何轉換,保持原本的大小寫。

.normal {
  text-transform: none;
}

uppercase

將所有字母轉換為大寫。

.uppercase {
  text-transform: uppercase;
}
<p class="uppercase">Hello World</p>
<!-- 顯示:HELLO WORLD -->

lowercase

將所有字母轉換為小寫。

.lowercase {
  text-transform: lowercase;
}
<p class="lowercase">Hello World</p>
<!-- 顯示:hello world -->

capitalize

將每個單字的首字母轉換為大寫。

.capitalize {
  text-transform: capitalize;
}
<p class="capitalize">hello world</p>
<!-- 顯示:Hello World -->

full-width

將字元轉換為全形字元(主要用於東亞文字排版)。

.full-width {
  text-transform: full-width;
}

實用範例

按鈕文字

.button {
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
<button class="button">Submit</button>
<!-- 顯示:SUBMIT -->

導航選單

nav a {
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: 1px;
}

標題樣式

h1 {
  text-transform: capitalize;
}

/* 或全大寫標題 */
.section-title {
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-weight: bold;
}

表單標籤

label {
  text-transform: uppercase;
  font-size: 12px;
  color: #666;
}

注意事項

對中文無效

text-transform 主要針對拉丁字母,對中文字沒有效果:

<p class="uppercase">你好世界</p>
<!-- 中文不會改變 -->

不改變原始文字

CSS 的 text-transform 只改變顯示效果,不會改變 HTML 中的原始文字。這對 SEO 和螢幕閱讀器來說是好事,因為它們讀取的是原始文字。

<!-- HTML 中還是小寫 -->
<h1 class="uppercase">welcome to our site</h1>
<!-- 只是顯示為 WELCOME TO OUR SITE -->

搭配其他屬性

text-transform: uppercase 常搭配 letter-spacing 使用,因為全大寫的文字通常需要較大的字元間距來提高可讀性:

.uppercase-title {
  text-transform: uppercase;
  letter-spacing: 0.15em;
}