CSS3 – 溢れた要素の表示形式【text-overflow】の基本と効かない場合の対処法

HTML/CSSでWebページを作成している際、文章が表示からはみ出てしまった!という経験は誰しもがあるのではないでしょうか?

今回ご紹介するのは、はみ出た要素の処理方法を決定するtext-overflowプロパティ。少し応用的なプロパティですが、使えるようになればさらにデザインの幅が広がるでしょう。

text-overflowプロパティの使い方を知りたい!

今回は、text-overflowプロパティの

・基本的な使い方
・値による見た目の変化
・text-overflowプロパティの応用的な使い方

について説明します。

text-overflowプロパティとは

text-overflowプロパティの読み方

text-overflow:(読み方)テキストオーバーフロー

text-overflowプロパティの”overflow”は『溢れる』という意味を持つ英単語で、その名の通り溢れ出たテキストの表示方法を示すプロパティとして使用されます。

text-overflowプロパティの説明

text-overflowプロパティは、画面から溢れて非表示になってしまった部分の表示方法を設定するためのプロパティです。

text-overflowプロパティを使用することで、ユーザに分かりやすく溢れ出た要素があることを明示でき、値の設定によっては、様々な表示を実現できます。

text-overflowプロパティで利用できる属性

text-overflowプロパティでは以下の属性を使うことができます。

属性 説明
clip  既定値。溢れ出たテキストは切り取る。
ellipsis  溢れ出たテキストは切り取られ、代わりに省略記号を配置する。
 <string>  任意の文字で省略記号を表現する。
fade  溢れたテキストは切り取り、端を半透明で表現する。
fade(<length> / <percentage>)  fadeと同じように端を半透明で表現し、半透明を適用する効果を数値やパーセンテージで引数として与えられる。
注意
fade、fade(<length>/<percentage>)はどのブラウザでも動作が確認されていません。

対応ブラウザ

対応ブラウザは以下の通りです。

PC用ブラウザ 対応状況
Chrome 1
Edge 12
Firefox  7
nternet Explorer  6
Opera  11
Safari  1.3
スマートフォン用ブラウザ 対応状況
Android webview  37以降
Android版Chrome  18
Android版Firefox 7
Android 版 Opera  11
iOS版Safari  1
Samsung Internet  1.0

text-overflowプロパティの基本的な使い方

text-overflowプロパティの使い方

ここからは値を1つずつ当てはめ、表示される効果を確認していきましょう。まずはtext-overflowプロパティの書き方を解説します。

基本設定とCSS必須プロパティ

HTML

範囲から溢れさせるために、長めのテキストを改行タグなしで記述しました。

CSS

CSSではpタグの幅を300pxに設定し、背景色を付けて範囲を分かりやすく表示しています。この中でテキストを溢れさせるのに必須なのがwhite-space: nowrap;overflow: hidden;プロパティです。

white-space: nowrap;は改行の表示方法を指定するプロパティで、自動的に改行されるのを防ぎます。またoverflow: hidden;は内容がはみ出た場合に、内容を非表示とするプロパティです。この2つのプロパティが設定されていない場合は、pタグ内で自動的に改行されてしまうので、必ず記述しましょう。

注意
必ず記述するプロパティ

white-space → 改行の表示方法を設定する(値をnowrapに設定)

overflow → はみ出た部分の表示方法を設定する(値をhiddenに設定)


各値の表示例

HTMLではpタグを3つ用意し、それぞれにクラス名として”clip”、”ellipsis”、”string”を割り振っています。なお、<string>はChromeでは動作確認ができませんでした。実行する際はFirefoxを使用してください。

text-overflowプロパティを適用するには、テキストが記述されている要素を指定し、text-overflow+値を記述します。既定値はclipなので、text-overflowプロパティを適用していない場合には、溢れた部分が切り取られて表示されています。

また<string>で値を記述する際には、省略記号をダブルクォーテーション(“”)で囲うのを忘れないように注意しましょう。

text-overflowプロパティの応用的な使い方

ここではtext-overflowプロパティをテキスト以外にも使えないか、具体的な実用例を模索していこうと思います。

長いリンクを省略する

一番実用的なのが長いリンクを省略して表示する方法ではないでしょうか?aタグにはtext-overflowタグが適用できなかったため、aタグをpタグで囲っています。1つ目はリンク先の情報を入れ、2つ目はURLをそのまま載せました。

2つ目では省略記号を”…リンク先を開く”に設定したため、省略されたURLに置き換わって「…リンク先を開く」が表示されています。

 

まとめ

今回は溢れたテキストの表示方法を設定するtext-overflowプロパティについて解説しました。溢れ出たテキストの表示を比較的自由に設定できるので、習得すればかなり重宝するでしょう。

HTMLやCSSに慣れた方はぜひ取り入れてみてくださいね。

参考文献:
text-overflow MDN Web docs
CSS – text-overflow
text-overfowプロパティの意味と使い方 – できるネット
text-overflow: ellipsisが上手く動作しない? 解決してあげよう。【Qitta】
overflow – CSSリファレンス
white-space スタイルシートリファレンス
Wikipedia

BLOGコンテンツをパーソナライズします

あなたは現在「プログラミング学習者」ですか?