【CSS】テキスト関連プロパティについて基本解説|Webの基礎

【CSS】テキスト関連プロパティについて基本解説|Webの基礎

Webページで文字列の配置や装飾を制御する「CSSテキスト関連プロパティ」の基本についての解説です。

目次

はじめに

Webページで「文字の位置を変えたい」「下線を引きたい」「文字間隔を広げてスッキリ見せたい」と思ったことはありませんか?

こういった文字の見せ方・配置・装飾を制御するのが、CSSのテキスト関連プロパティです。

前回の記事では、フォント(書体・サイズ・太さ)について解説しました。
今回はテキストの配置や装飾に関するプロパティを、サンプルコードを交えながらわかりやすく解説します。

CSSテキストとは?

CSSのテキスト関連プロパティは、文字の配置・間隔・装飾・折り返しなど、フォントの見た目以外の表示制御を担います。

テキスト関連プロパティ一覧

プロパティ名役割・概要主な指定値(例)
text-alignテキストの水平方向の配置を指定するleftcenterrightjustify
text-decoration下線・打ち消し線などの装飾を指定するunderlineline-throughnone
letter-spacing文字と文字の間隔(字間)を指定する0.1em2px
text-indent段落先頭の字下げを指定する1em20px
text-transform英字の大文字・小文字を変換するuppercaselowercasecapitalize
white-space空白・改行の扱い方を指定するnowrapprepre-wrap
text-shadowテキストに影をつける2px 2px 4px #000
text-overflowテキストがはみ出した場合の処理を指定するellipsisclip
word-break長い単語・URLの改行ルールを指定するbreak-allkeep-all
writing-modeテキストの書字方向を指定する(縦書き等)vertical-rlhorizontal-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(空白・改行の扱い)

テキスト中のスペース・改行をどう表示するかを指定します。

主な値

複数スペース改行タグなしの改行自動折り返し
normal1つに圧縮無視あり(デフォルト)
nowrap1つに圧縮無視なし
preそのまま反映なし
pre-wrapそのまま反映あり
pre-line1つに圧縮反映あり

サンプル

/* 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できます

この記事のサンプルはありません!

ダウンロードページへは下のカードをクリックすればジャンプできます。
よろしければご利用ください!

よかったらシェアしてね!
  • URLをコピーしました!
目次