最近便利なCSSおれおれAdvent Calendar 2023 – 14 日目
text-overflow
ってあるじゃないですか、文章が長いときに省略するやつ。でもあれ 1 行(横がはみ出したとき)しか使えないんですよね。line-clamp
なら複数行の文章でも省略できます。
ただし問題もあります。
例
.box { -webkit-box-orient: vertical; -webkit-line-clamp: 3; display: -webkit-box; overflow: hidden; }
名前
使うのは line-clamp
じゃなくて -webkit-line-clamp
です。仕様書にもそう載っていて現在 Webkit 以外でも使えます。
line-clamp
も仕様には載ってはいて、これを実装する場合は後方互換のためこの -webkit-line-clamp
も対応する必要があります。といっても皆まだ接頭辞付きのしか対応してないんだけど。
利用上の注意
あんまり無敵じゃないです。
- 行数でしか指定できない(長さ、高さではない)
height
があって大きいと、省略記号 “…” を表示した後も文章が続くheight
があって小さいと、省略記号 “…” が表示されずに途切れるpadding
でも大きなheight
と同様に文章が続くmargin
なんかの空白を含む時はそれを無視して文章の行数のみ数える
おしまい
ちょっと難しいというか面倒だけど、でもまああるだけありがたいって感じでしょうか。