CSSで複数行のテキストを省略する|-webkit-line-clampの使い方
CSSの -webkit-line-clamp を使うと、テキストを指定した行数に制限して省略表示できます。
例えば、文章を3行まで表示し、それ以降を「…」で省略するといった表示が可能です。
カード型のレイアウトなどで、文章の長さが異なる場合でも表示領域を揃えたいときに便利です。
-webkit-line-clampの基本的な使い方
例えば、テキストを3行まで表示する場合は、次のように指定します。
HTML
<p class="box01">
この例では、 <code>-webkit-line-clamp</code> プロパティを 3 に設定すると、テキストは 3 行目の後で切られます。テキストが切られた点には省略記号が表示されます。
</p>
CSS
.box01 {
width: 300px;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
}
-webkit-line-clamp: 3; と指定すると、テキストを3行まで表示し、それ以降を省略できます。
この方法では、次の3つの指定を組み合わせます。
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
それぞれの役割は次のとおりです。
display: -webkit-box;:要素を旧来のWebKit系のボックスレイアウトとして扱います。-webkit-box-orient: vertical;:ボックスの方向を縦方向に指定します。-webkit-line-clamp: 3;:表示する最大行数を3行に指定します。
さらに、指定した行数を超えた部分を隠すために overflow: hidden; も指定します。
CodePenデモ
See the Pen CSSで複数行のテキストを省略するline-clampの使い方 by mkl may (@mkl-may) on CodePen.
-webkit-line-clampを使うときの注意点
テキストの途中で切れる場合がある
-webkit-line-clamp は、文章を指定した行数で制限するため、必ずしも文末の区切りのよい位置で省略されるとは限りません。
特にリンクなどに適用した場合、テキストの途中で切れることがあります。
重要な文章を省略表示する場合は、全文を確認できる導線を用意するなど、ユーザーが内容を確認できるようにしておきましょう。
ブラウザーの対応状況を確認する
-webkit-line-clamp は従来から広く使われている方法ですが、実際のWebサイトで使用する際は、対象とするブラウザーの対応状況を確認しておくと安心です。
特に、古いブラウザーへの対応が必要な場合は、対象ブラウザーで意図した表示になるか確認しましょう。
まとめ
-webkit-line-clampを使うと、テキストを指定した行数に制限して省略表示できる-webkit-line-clampの数値を変更することで、表示する行数を調整できる- 使用する際は、
display: -webkit-box;、-webkit-box-orient: vertical;、overflow: hidden;とあわせて指定する