【入門編】インライン要素内のテキスト折り返し制御 – HTML実践ガイド

なぜか突き抜けてしまう文字たちに「待った!」をかける:インライン要素の改行コントロール術

こんにちは!Web制作の世界へようこそ。
コードを書き始めたばかりの頃、誰もが一度は「あれ?なんでこの文字だけ、枠からはみ出して突き抜けていくの?」と不思議に思ったことがあるはずです。

特に `` や `` タグのような「インライン要素」を使っているとき、長い英単語やURLが親要素の壁を突き破ってレイアウトを崩してしまう……。そんな「困った!」を解決する、CSSの改行制御テクニックについて今日はお話ししますね。

大丈夫、難しいことはありません。身近な例えを使いながら、スッキリ解決していきましょう。

—

なぜ文字は「はみ出る」のか?

まず、ブラウザの気持ちになってみましょう。
ブラウザは基本的に「単語の途中でぶった切るなんて、失礼だよね」と考えています。特に英語などの単語は、途中で切ると意味が変わってしまうことがありますよね。

例えば、「Supercalifragilisticexpialidocious」という長い単語があったとします。ブラウザは「これを途中で切ったら可愛そうだから、いっそこのまま突き抜けて表示しよう!」と判断してしまうんです。これが、レイアウト崩れの正体です。

このブラウザの「優しさ(過保護)」を、適切なルールでコントロールしてあげるのが、今回紹介する3つのプロパティです。

—

現場で使う「3つの魔法」

CSSには、文字の折り返しを制御するプロパティがいくつかありますが、初学者がまず押さえておくべきは以下の3つです。

1. `word-break: break-all;`

「どんな場所でもいいから、とにかく枠に収まってくれ!」という強引な手段です。
単語の途中で容赦なく改行します。日本語のような「どこで切ってもあまり問題ない」文章には適していますが、英語の文章だと単語がバラバラに切れるので、少し読みづらくなるのが難点です。

2. `overflow-wrap: break-word;`

「基本は単語の切れ目を優先するけど、どうしようもなくなったら泣く泣く改行するよ」という、非常に賢く優しい設定です。
現代のWeb制作では、これが一番のおすすめです!

3. `word-wrap: break-word;`

これは `overflow-wrap` の昔の名前(別名)です。古いブラウザに対応するために併記することもありますが、基本的には `overflow-wrap` を使えば今の現場ではバッチリです。

—

実際に書いてみよう!

では、さっそくエディタを開いて試してみましょう。まずは「はみ出してしまう」悪い例と、それを解決するコードを並べてみますね。

Supercalifragilisticexpialidocious

Supercalifragilisticexpialidocious

どうですか?下の箱は、ちゃんと端っこで折り返されていますよね。

—

少しだけ補足:`display: inline-block;` の魔法

インライン要素(`` や `` など)そのものには、実は幅や高さを厳密に指定することが苦手という性質があります。もし、「どうしてもこの要素に幅を決め打ちして、その中で改行させたい!」という場合は、CSSにこんな一行を足してあげてください。

span {
display: inline-block; / インライン要素を「箱」として扱えるようにする /
width: 100%; / 親要素いっぱいに広げる /
}

これを加えるだけで、`` がただのテキストの塊から、しっかりとした「箱」に進化します。そうすれば、先ほどの改行ルールもより正確に効くようになりますよ。

—

まとめ:怖がらずに、ルールを教えてあげよう

Web制作は、ブラウザという「ちょっと不器用な相棒」に、CSSという言葉でルールを教えてあげる作業です。

  • 「とにかく収まって!」なら `word-break: break-all;`
  • 「単語を大切にしつつ、収まって!」なら `overflow-wrap: break-word;`

最初は迷うかもしれませんが、まずはこの2つを使い分けてみてください。レイアウトが崩れても焦る必要はありません。「あ、ブラウザが困ってるんだな」と気づいて、CSSでそっと助けてあげればいいだけですから。

また何か小さな「困った!」があれば、いつでも聞きに来てくださいね。あなたのWeb制作ライフを応援しています!

コメント

タイトルとURLをコピーしました