CSSで文末に省略記号をつける方法
CSSを使って、文末に省略記号(…)をつける方法を紹介します。
目次
1行の場合
text-overflow: ellipsis;をCSSに指定することで、テキストが枠から出てしまうときの文末が「…(3点リーダー)」になります。
あいうえおかきくけこさしすせそ
<p>あいうえおかきくけこさしすせそ</p>
p { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; max-width: 150px; /* 装飾 */ padding: 15px; border: 1px solid #333; background: #fff; }
複数行の場合(IEなど一部のブラウザでは表示できません)
あいうえおかきくけこさしすせそたちつてと
下記の記述でできますが、対応してないブラウザもあるため、そちらだけお気をつけください。(対応ブラウザはこちら。)
<div class="wrap"> <p class="sample03">あいうえおかきくけこさしすせそたちつてと</p> </div>
p{ display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; /* 2行目の末で省略する*/ overflow: hidden; } .wrap{ max-width: 150px; padding: 15px; border: 1px solid #333; background: #fff; }
注意点
あいうえおかきくけこさしすせそたちつてと
なんだかおかしな表示になってませんか?
こういう中途半端な表示になる場合があるので やってみました。笑
さっきとの違いは、pタグにそのままCSSを全部記載している点です。paddingは囲んでいる方にかけると大丈夫ですので、気をつけてくださいね。
<p>あいうえおかきくけこさしすせそたちつてと</p>
p{ display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; /* 2行目の末で省略する*/ overflow: hidden; max-width: 150px; padding: 15px; /* 装飾 */ border: 1px solid #333; background: #fff; }
最後に
他にも、擬似要素を使って表示することもできますが、、フォントなど状況によってうまくできない場合があります。なので1行の場合は「text-overflow: ellipsis;」、複数行になる場合は javascriptで実装するのがベターだと思います。
まだ時間かかるかもしれませんが、CSSでもサクッとできるようになると良いですね。