CSSでテキストの折り返しを禁止する方法

CSSでテキストの折り返しを禁止する方法

公開: 更新:
CodeCampが提供するDX人材育成が可能なプログラミングやITが学べる公開講座

ウェブサイトの制作過程において、テキストが意図しない位置で改行されてしまい、レイアウトが崩れる現象は頻繁に発生します。特にボタン内のラベルやナビゲーションメニューの項目は、一行で表示することが求められる要素です。

CSSのwhite-spaceプロパティにnowrap値を指定すると、テキストの自動折り返しを明示的に禁止できます。ただし、この指定は改行を止める仕組みであり、親要素の幅自体を無効化するわけではないため、文字数が多い場合はボックスからはみ出して表示される点に注意が必要です。

本記事では、初心者から実務者まで活用できる、折り返しを制御するための主要な手法に加え、はみ出したテキストを省略表示する対処法まで具体的に紹介します。


CSSでテキストの折り返しを禁止する方法

CSSでテキストの折り返しを禁止する方法

テキストの折り返しを禁止する主な方法は、以下の2つです。

  1. white-spaceプロパティを指定する
  2. displayプロパティで要素の性質を変更する

それぞれ対象となる範囲や仕組みが異なるため、目的に応じて使い分ける必要があります。使用するプロパティと主な用途をまとめた表は、以下の通りです。

指定方法 使用するプロパティ 主な用途
テキスト制御 white-space 文字列自体の折り返しを止めたい場合
レイアウト制御 display 子要素の並びを一行に固定したい場合

この表からも分かる通り、テキスト単位で制御するか、要素全体のレイアウトで制御するかによって選ぶプロパティが変わります。それでは各項目について、詳しく解説していきます。

white-spaceプロパティを指定する

テキストの折り返し挙動を直接制御するプロパティとして、最も一般的に利用されるのが white-space です。このプロパティに nowrap という値を設定する手法により、テキストの自動改行を無効化できます。

.no-wrap {
  white-space: nowrap;
}

この設定を適用すると、通常の空白やソースコード上の改行はすべて半角スペース1つに折りたたまれ、自動改行が行われないまま単一行で横方向へ伸び続けます。

ソースの改行位置をそのまま維持したい場合に必要なのは、pre系の値の指定です。要素の幅を超えて伸びたテキストは親要素を突き抜けて表示されるため、overflowプロパティなどと併用してはみ出し箇所の見え方を調整するのが基本だと言えます。

displayプロパティで要素の性質を変更する

テキストそのものではなく、要素全体のレイアウト特性を変更して折り返しを防ぐアプローチも有効です。例えば、親要素にflexを指定すると、その直下の子要素は既定で横一列に並べられ、複数行への折り返しが抑止される仕組みです。

.container {
  display: flex;
}

flex-wrapプロパティは既定値がnowrapであるため、子要素自体は親要素の幅に合わせて圧縮されるか、あるいははみ出して一列に並ぶ挙動となります。ただし、この指定は子要素の配置を制御するものであり、各子要素内のテキストの折り返しを防ぐものではないため、文字列自体を折り返させたくない場合は、対象要素へ別途white-space: nowrapを指定する必要があります。


Python研修一覧はこちら

目的に合うPython研修を一覧形式から探したい方は、ぜひご利用ください。

Python研修を比較する

Java研修一覧はこちら

目的に合うJava研修を一覧形式から探したい方は、ぜひご利用ください。

Java研修を比較する

PHP研修一覧はこちら

目的に合うPHP研修を一覧形式から探したい方は、ぜひご利用ください。

PHP研修を比較する

新入社員研修

目的に合う新入社員研修を一覧形式から探したい方は、ぜひご利用ください。

新入社員研修を比較する

全ての研修からも探したい方はこちら

CSSのwhite-spaceプロパティで改行を無効化する

CSSのwhite-spaceプロパティで改行を無効化する

white-spaceプロパティにはnowrap以外にもいくつかの値が用意されており、値によって、改行や空白の扱いが異なる仕組みです。ここで取り上げるのは、代表的な2つの値です。

nowrap値を設定する

white-spaceプロパティには複数の値が用意されており、それぞれ改行と空白の扱いが異なります。前章で解説したnowrapは自動改行を止める代表的な値ですが、preやnormalと比較することで特徴が把握しやすくなります。

nowrap値は、通常の空白や改行を折りたたみながら自動改行だけを止める指定です。一方で次に紹介するpre値は、ソース上の改行や空白をそのまま維持する点が異なる特徴です。

pre値を利用してソースコードの改行を維持する

HTMLソース内の改行や空白をそのままブラウザ上に反映したい場合は、pre値を選択します。通常、Webブラウザは連続する半角スペースを1つにまとめますが、pre値はこの挙動を抑制する仕組みです。

.code-block {
  white-space: pre;
}

ソースコードの表示や特定のレイアウトを厳密に保つ必要がある際に、pre値の指定が有効に働きます。主な値ごとの挙動の違いをまとめた表は、以下の通りです。

改行の扱い 空白の扱い
nowrap 自動改行を行わない 連続する空白を1つにまとめる
pre ソース内の改行を維持する 連続する空白をそのまま表示する
normal 必要に応じて自動改行する 連続する空白を1つにまとめる

値ごとの挙動を理解しておくと、レイアウトの崩れを防ぎたい場面と、ソースコードの整形をそのまま見せたい場面を適切に切り分けられます。


Python基礎・実践(Django)

企業・法人向けのPython研修では、基礎から応用まで体系的に学べます。

Python研修の詳細

DX社員研修

企業・法人向けのDX研修では、実務に繋がるリスキリングでITレベルを向上させます。

DX研修の詳細

Javaエンジニア育成研修

企業・法人向けのJavaエンジニア育成研修では、Javaの基礎から応用まで確実に習得できます。

Java研修の詳細

新卒・新入社員向け研修

企業・法人に新入社員・新卒社員に向けたプログラミング研修を提供しています。

新入社員研修の詳細

コードキャンプのIT研修を全て見る

CSSではみ出したテキストを三点リーダで省略する

CSSではみ出したテキストを三点リーダで省略する

1行に収まりきらない長いテキストを、末尾で省略して「…」を表示する手法を解説します。この表現は、限られたカード型のレイアウトやナビゲーションメニューの表示を整える際に有効な手段です。

三点リーダの表示に必要な3つのプロパティと役割をまとめた表は、以下の通りです。

プロパティ 設定値 役割
white-space nowrap テキストの自動折り返しを禁止する
overflow hidden 領域からはみ出したテキストを隠す
text-overflow ellipsis 隠れた部分の境界に三点リーダを表示する

この3つを組み合わせて初めて三点リーダが正しく表示されるため、次のH3ではそれぞれの役割を順に確認します。

overflowプロパティで領域外を隠す

三点リーダを表示する前段階として、親要素の幅を超えて溢れたコンテンツを非表示にする設定を適用します。overflowプロパティにhiddenを指定することで、ボックスを突き抜けて表示されるテキストを制御する仕組みです。

.example {
  white-space: nowrap;
  overflow: hidden;
}

white-spaceにより、折り返しを止めただけでは、文字が枠外へ突き抜けて表示を阻害してしまいます。

overflowの設定を組み合わせ、視覚的に見た目をカットする処理を行うことによって、テキストがボックス外へはみ出して表示が崩れるのを防ぐ効果が得られる仕組みです。

text-overflowで「…」を表示する

最後に、切り捨てられた箇所を明示するための装飾を加えます。text-overflowにellipsisを設定すると、あふれた部分の表示だけが三点リーダに置き換わる仕組みであり、要素が保持する元のテキスト内容そのものが変更されるわけではありません。

.example {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

ただし、この指定が効果を持つのは、overflowプロパティがvisible以外(hiddenやclipなど)に設定され、対象の要素が有限の幅を持っている場合に限られます。プロパティを単独で記述しても、省略記号は表示されません。

1行のテキストを対象にする場合はwhite-space: nowrapも組み合わせ、overflow・text-overflowとあわせて3つの指定をセットで記述するパターンが一般的です。

省略表示は視覚的な情報を隠す処理のため、詳細を確認できる手段もあわせて検討することが推奨されます。対象要素にtitle属性で全文を付与したり、画面幅が十分に取れるレスポンシブ環境では折り返しを許可したりする工夫が有効です。

CSSの折り返し禁止に関するよくある質問

特定のタグだけ折り返しを禁止できますか?

特定のHTML要素だけに適用したい場合は、対象を<span>タグなどで囲み、そのクラスにwhite-space: nowrap;を指定する方法が有効です。

クラス名でスタイルを定義すれば、ページ内の他のテキストへ影響を与えずに、特定の単語やフレーズだけを一行で表示できます。

スマホ表示の時だけ折り返しを許可する方法を教えてください

レスポンシブデザインでは、メディアクエリを使って画面幅ごとにスタイルを切り替えます。PCではwhite-space: nowrap;で一行に収め、スマホ用のブレイクポイント内でwhite-space: normal;を上書きするのが一般的です。

基本のスタイルをどちらのデバイスに合わせるかによって、メディアクエリの条件を調整すると、両方の画面幅で見やすい表示を維持できます。

ITやプログラミングに関するコラム


ITやプログラミングに関するニュース

ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。

企業・法人向けのIT・プログラミング・生成AI研修を探す、比較する - IT・プログラミングを知って学べるコネクトメディア CodeCampが提供するDX人材育成が可能なプログラミングやITが学べる公開講座 - IT・プログラミングを知って学べるコネクトメディア コードキャンプが提供する無料で学べるプログラミングスクール講座 - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア 3.5日の研修で、年間1,600時間の削減効果が見込まれる。東京きらぼしフィナンシャルグループのDX人材育成事例 - IT・プログラミングを知って学べるコネクトメディア 配属3ヶ月で30%の生産性向上を実現するいよぎんコンピュータサービスの新人研修に迫る - IT・プログラミングを知って学べるコネクトメディア 金融業界の業務効率化を加速するニッセイアセットマネジメントの生成AI×GAS活用研修事例 - IT・プログラミングを知って学べるコネクトメディア 【製造業のDX人材育成事例】デジタル人材の即戦力化を実現する、日本ガイシ株式会社の異動者向オンボーディング研修 - ITやプログラミングを知って学べるコネクトメディア フューチャーアーキテクト株式会社が実現した新入社員向けIT研修プログラムでタスクフォース制度が主体的な学びと成長を生み出す - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【IT新入社員研修】オンラインとオフラインの最適バランスを実現したFutureOneの導入事例 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【新入社員研修】柔軟なハイブリッド型Java研修で実現した新卒20名の成長と成果|サークレイス株式会社 - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/現場により近いところにデジタルを根付かせるDX基礎講座研修|株式会社ブリヂストン - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/業務の効率化・DX推進に向けたIT人材育成への第一歩|株式会社カナエ - ITやプログラミングを知って学べるコネクトメディア 企業・法人向けのIT・プログラミング研修 - ITやプログラミングを知って学べるコネクトメディア

新着記事

対象者別で探す

子供(小学生・中学生・高校生)向け
プログラミング教室検索する

子供(小学生・中学生・高校生)がロボットやプログラミング言語を学ぶことができるオフラインからオンラインスクールを検索、比較することが可能です。

子供(小学生・中学生・高校生)
プログラミング教室検索する

ITやプログラムなどの
最新情報を検索する

日々、新しいITやプログラミング言語の情報が流れていきますが、特定の情報を時系列でニュースやコラムを確認することができます。

ITやプログラムなどの
最新情報を検索する