テキスト
-webkit-line-clamp
-webkit-line-clamp は、文章を決めた行数で打ち切り、最後の行の終わりに「…」を付けます。カードの説明文などを 2〜3 行にそろえるときに使います。
構文
none | <integer [1,∞]>プレビュー
プリセット
右下の角をドラッグするとサイズを変えられます
コード
.box {
display: -webkit-box;
-webkit-box-orient: vertical;
overflow: hidden;
-webkit-line-clamp: 2;
}コントロール
-webkit-line-clamp2
解説
古い仕組みの名残で、display: -webkit-box と -webkit-box-orient: vertical を一緒に書いたときだけ効きます。 残りの行を隠すために overflow: hidden も要ります。このページのコードにも、この 3 つを一緒に書いています。
値の書き方
none:打ち切りません。初期値です。2などの 1 以上の整数:その行数まで表示し、最後の行の終わりに「…」を付けます。
-webkit- が付いていますが、主なブラウザはすべて対応しています。接頭辞の無い line-clamp も仕様にありますが、まだ対応しているブラウザがほとんどありません。
高さを決めないこと
箱の高さを height で決めていると、打ち切ったあとの行も箱の中に見えてしまいます。高さは決めずに、中身に合わせて使います。 また、overflow: hidden は padding の内側までしか隠さないので、下に padding があると次の行の上のほうがそこにのぞきます。このページのプレビューでは、下の余白を透明な border でとっています。
1 行だけのとき
1 行で打ち切るだけなら、white-space: nowrap と text-overflow: ellipsis の組み合わせでもできます。