Webページで文字列の配置や装飾を制御する「CSSテキスト関連プロパティ」の基本についての解説です。
はじめに
Webページで「文字の位置を変えたい」「下線を引きたい」「文字間隔を広げてスッキリ見せたい」と思ったことはありませんか?
こういった文字の見せ方・配置・装飾を制御するのが、CSSのテキスト関連プロパティです。
前回の記事では、フォント(書体・サイズ・太さ)について解説しました。
今回はテキストの配置や装飾に関するプロパティを、サンプルコードを交えながらわかりやすく解説します。
CSSテキストとは?
CSSのテキスト関連プロパティは、文字の配置・間隔・装飾・折り返しなど、フォントの見た目以外の表示制御を担います。
テキスト関連プロパティ一覧
| プロパティ名 | 役割・概要 | 主な指定値(例) |
|---|---|---|
text-align | テキストの水平方向の配置を指定する | left, center, right, justify |
text-decoration | 下線・打ち消し線などの装飾を指定する | underline, line-through, none |
letter-spacing | 文字と文字の間隔(字間)を指定する | 0.1em, 2px |
text-indent | 段落先頭の字下げを指定する | 1em, 20px |
text-transform | 英字の大文字・小文字を変換する | uppercase, lowercase, capitalize |
white-space | 空白・改行の扱い方を指定する | nowrap, pre, pre-wrap |
text-shadow | テキストに影をつける | 2px 2px 4px #000 |
text-overflow | テキストがはみ出した場合の処理を指定する | ellipsis, clip |
word-break | 長い単語・URLの改行ルールを指定する | break-all, keep-all |
writing-mode | テキストの書字方向を指定する(縦書き等) | vertical-rl, horizontal-tb |
text-align(テキストの配置)
テキストの水平方向の揃え方を指定します。
書式
selector {
text-align: 値;
}主な値
| 値 | 説明 |
|---|---|
left | 左揃え(デフォルト) |
center | 中央揃え |
right | 右揃え |
justify | 両端揃え |
サンプル
/* 中央揃え */
h1 {
text-align: center;
}
/* 右揃え */
.date {
text-align: right;
}
/* 両端揃え(長文に有効) */
.article-body p {
text-align: justify;
}ブログ本文は text-align: left (デフォルト) が読みやすく、
見出しは center 、日付などは right にするのが一般的です。
text-decoration(テキストの装飾)
テキストに下線・打ち消し線・上線などの装飾を追加します。
書式
selector {
text-decoration: 値;
}主な値
| 値 | 説明 |
|---|---|
none | 装飾なし(aタグのデフォルト下線を消すときに使用) |
underline | 下線 |
overline | 上線 |
line-through | 打ち消し線 |
サンプル
/* リンクの下線を消す */
a {
text-decoration: none;
}
/* 下線付きテキスト */
.important {
text-decoration: underline;
}
/* 打ち消し線(値下げ表示などに) */
.old-price {
text-decoration: line-through;
}詳細指定(色・スタイル・太さ)
text-decoration は複数の値を組み合わせて細かく指定できます。
p {
text-decoration: underline dotted red 2px;
/* 種類 スタイル 色 太さ */
}
letter-spacing(文字間隔)
文字と文字の 間隔(字間)を調整します。日本語の見出しをスッキリ見せるのに効果的です。
書式
selector {
letter-spacing: 値;
}サンプル
/* 見出しを広めの字間に */
h2 {
letter-spacing: 0.1em;
}
/* ロゴ・タイトルの字間を広く */
.site-title {
letter-spacing: 0.2em;
}
/* 字間を詰める(マイナスも指定可能) */
.tight-text {
letter-spacing: -0.05em;
}em 単位で指定すると、フォントサイズに比例して字間が変わるためレスポンシブ対応がしやすくなります。
text-indent(字下げ)
段落の先頭行だけを字下げします。日本語の縦書きや、特定のリスト形式でよく使います。
書式
selector {
text-indent: 値;
}サンプル
/* 段落の先頭を1文字分下げる */
p {
text-indent: 1em;
}
/* マイナス値でぶら下げインデント */
.hanging {
padding-left: 1.5em;
text-indent: -1.5em;
}text-transform(大文字・小文字変換)
英字テキストの大文字・小文字を変換します。日本語には影響しません。
主な値
| 値 | 説明 | 例 |
|---|---|---|
uppercase | すべて大文字 | hello → HELLO |
lowercase | すべて小文字 | HELLO → hello |
capitalize | 各単語の先頭を大文字 | hello world → Hello World |
none | 変換なし(デフォルト) | — |
サンプル
/* ナビゲーションのリンクを大文字に */
nav a {
text-transform: uppercase;
}
/* 名前の先頭文字を大文字に */
.name {
text-transform: capitalize;
}white-space(空白・改行の扱い)
テキスト中のスペース・改行をどう表示するかを指定します。
主な値
| 値 | 複数スペース | 改行タグなしの改行 | 自動折り返し |
|---|---|---|---|
normal | 1つに圧縮 | 無視 | あり(デフォルト) |
nowrap | 1つに圧縮 | 無視 | なし |
pre | そのまま | 反映 | なし |
pre-wrap | そのまま | 反映 | あり |
pre-line | 1つに圧縮 | 反映 | あり |
サンプル
/* 1行に収める(折り返しなし) */
.label {
white-space: nowrap;
}
/* コードブロックのように整形テキストをそのまま表示 */
.code-sample {
white-space: pre-wrap;
}text-shadow(テキストシャドウ)
テキストに**影(シャドウ)**をつけます。
書式
selector {
text-shadow: 水平offset 垂直offset ぼかし範囲 色;
}サンプル
/* 基本的なシャドウ */
h1 {
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}
/* ネオン風グロウ効果 */
.neon {
color: #fff;
text-shadow:
0 0 5px #0ff,
0 0 10px #0ff,
0 0 20px #0ff;
}
/* 白いシャドウでエンボス効果 */
.emboss {
color: #888;
text-shadow: 1px 1px 1px #fff;
}text-overflow(テキストのはみ出し処理)
テキストが要素の幅を超えた場合のはみ出し処理を指定します。
前提条件(3つセットで使用)
text-overflow は以下の3つをセットで指定します。
selector {
overflow: hidden; /* はみ出しを非表示 */
white-space: nowrap; /* 折り返しなし */
text-overflow: ellipsis; /* はみ出し部分を「...」で表示 */
}主な値
| 値 | 説明 |
|---|---|
ellipsis | はみ出し部分を「…」で表示 |
clip | はみ出し部分を切り取る |
サンプル
/* 記事タイトルを1行に省略 */
.article-title {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
max-width: 300px;
}カード型レイアウトの記事タイトルや商品名など、幅が限られた場所に長いテキストを表示する際によく使われます。
word-break(改行ルール)
長い英単語やURLなど、文字の折り返しルールを指定します。
主な値
| 値 | 説明 |
|---|---|
normal | デフォルト(単語の途中では折り返さない) |
break-all | どこでも折り返す(日本語サイトで便利) |
keep-all | 単語・語句の途中では折り返さない |
サンプル
/* 長いURLや英単語をどこでも折り返す */
.url-text {
word-break: break-all;
}writing-mode(縦書き)
テキストの書字方向を指定します。縦書きレイアウトに使います。
主な値
| 値 | 説明 |
|---|---|
horizontal-tb | 横書き・上から下(デフォルト) |
vertical-rl | 縦書き・右から左 |
vertical-lr | 縦書き・左から右 |
サンプル
/* 縦書き見出し */
.vertical-heading {
writing-mode: vertical-rl;
}サンプル(ブログ本文の実用スタイル)
上記のプロパティを組み合わせた、ブログ記事向けの実用的なサンプルです。
HTML
<article class="post">
<h1 class="post-title">CSSテキストプロパティの解説</h1>
<p class="post-date">2026年6月26日</p>
<div class="post-body">
<p>CSSのテキスト関連プロパティを学ぶと、Webページの文字表現が大幅に広がります。</p>
<h2>まとめ</h2>
<p>今回紹介したプロパティを活用して、読みやすいWebページを作りましょう。</p>
</div>
</article>CSS
/* 記事タイトル */
.post-title {
text-align: center;
letter-spacing: 0.05em;
text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
}
/* 投稿日 */
.post-date {
text-align: right;
letter-spacing: 0.05em;
}
/* 本文 */
.post-body p {
text-align: justify;
text-indent: 1em;
word-break: break-all;
}
/* 本文中の見出し */
.post-body h2 {
letter-spacing: 0.1em;
text-decoration: underline;
text-underline-offset: 6px; /* 下線とテキストの距離 */
}
/* リンクの下線を消してホバーで表示 */
a {
text-decoration: none;
}
a:hover {
text-decoration: underline;
}おわりに(まとめ)
CSSテキスト関連プロパティは、Webページの読みやすさと見た目の印象を大きく左右します。
✅ text-align(テキストの配置)
✅ text-decoration(下線・打ち消し線)
✅ letter-spacing(文字間隔)
✅ text-indent(字下げ)
✅ text-transform(大文字小文字変換)
✅ white-space(空白・改行の扱い)
✅ text-shadow(テキストシャドウ)
✅ text-overflow(はみ出し処理)
✅ word-break(改行ルール)
✅ writing-mode(縦書き)
特によく使う4つを先に覚えましょう。
text-align / text-decoration / letter-spacing / word-break
この4つを押さえておくと、ブログ記事のスタイル調整で困ることがほぼなくなります。
次回は「CSSのボックスモデル」について勉強・解説します。
この記事が、少しでも誰かのお役に立てれば幸いです。
関連記事
当サイトの記事で使用したVBAなどのサンプルをDLできます
この記事のサンプルはありません!
ダウンロードページへは下のカードをクリックすればジャンプできます。
よろしければご利用ください!

