私たちの日常的な開発作業では、テキストのオーバーフロー、切り捨て、省略は、考慮する必要がある非常に一般的なビジネス シナリオの詳細です。 「一般的」に見えますが、実装にはさまざまな違いがあります。単一行の切り捨てですか、それとも複数行の切り捨てですか?複数行の切り捨て判定は行数で判断するのでしょうか、それとも高さで判断するのでしょうか?これらの問題の解決策は何でしょうか?それらの違いと、さまざまなシナリオへの適応性は何ですか? 一般的に、このようなテキスト切り捨て効果を実現する場合、次のことが期待されます。
上記の基準に基づいて、コーディングの練習を通じていくつかの答えを示します。 単一行テキストオーバーフロー省略記号 コア CSS ステートメント
アドバンテージ
欠点
適用可能なシナリオ
デモ <div class="demo"> ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。</div> .デモ{ 空白: ラップなし; オーバーフロー: 非表示; テキストオーバーフロー: 省略記号; } 効果例 複数行テキストのオーバーフロー省略記号 (-webkit-line-clamp) コア CSS ステートメント
アドバンテージ
欠点 一般的な互換性: -webkit-line-clamp プロパティは、WebKit カーネルを搭載したブラウザでのみサポートされます。 適用可能なシナリオ モバイルデバイスのブラウザはWebKitカーネルに基づいているため、モバイルページに適しています。 デモ <div class="demo"> ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 .デモ{ ディスプレイ: -webkit-box; オーバーフロー: 非表示; -webkit-line-clamp: 2; -webkit-box-orient: 垂直; } 効果例 複数行テキストのオーバーフロー省略記号(疑似要素 + 配置) コア CSS ステートメント
アドバンテージ
欠点
適用可能なシナリオ テキストコンテンツが多く、テキストコンテンツがコンテナを超えることは確実です デモ <div class="demo"> 寝床の前の月光 寝床の前の月光 寝床の前の月光 寝床の前の月光 寝床の前の月光 寝床の前の月光 寝床の前の月光 寝床の前の月光 寝床の前の月光 寝床の前の月光 寝床の前の月光 寝床の前の月光 寝床の前の月光 寝床の前の月光 寝床の前の月光 寝床の前の月光 寝床の前の月光 寝床の前の月光 .デモ{ 位置: 相対的; 行の高さ: 18px; 高さ: 36px; オーバーフロー: 非表示; 単語区切り: 全区切り; } .demo::after { コンテンツ:"..."; フォントの太さ:太字; 位置:絶対; 下:0; 右:0; パディング:0 20px 1px 45px; /* 表示効果を高めるために */ 背景: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(white), color-stop(50%, white)); 背景: -moz-linear-gradient(右へ、rgba(255, 255, 255, 0)、白 50%、白); 背景: -o-linear-gradient(右へ、rgba(255, 255, 255, 0)、白 50%、白); 背景: -ms-linear-gradient(右へ、rgba(255, 255, 255, 0)、白 50%、白); 背景: linear-gradient(右へ、rgba(255, 255, 255, 0)、白 50%、白); } 効果例 複数行テキストのオーバーフロー省略記号 (Float) コア CSS ステートメント
アドバンテージ
欠点 省略記号は正しく表示されない場合があり、テキストの半分を覆ったり、テキストにぴったりと収まらなかったりすることがあります。 適用可能なシナリオ テキストコンテンツが多く、テキストコンテンツがコンテナを超えることは確実です デモ <div class="demo"> <div class="text"> ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 ベッドの前では月明かりが明るい。 </div> .デモ{ 高さ: 40px; 行の高さ: 20px; オーバーフロー: 非表示; } .デモ.テキスト{ フロート: 右; 左マージン: -5px; 幅: 100%; 単語区切り: 全区切り; } .demo::before { フロート: 左; 幅: 5px; コンテンツ: ""; 高さ: 40px; } .demo::after { フロート: 右; コンテンツ: "..."; 高さ: 20px; 行の高さ: 20px; 右パディング: 5px; テキスト配置: 右; 幅: 3em; 左マージン: -3em; 位置: 相対的; 左: 100%; 上: -20px; 右パディング: 5px; /* 表示効果を高めるために */ 背景: -webkit-gradient( リニア、 左上、 右上、 (rgba(255, 255, 255, 0))から、 (白)に、 カラーストップ(50%、白) ); 背景: -moz-linear-gradient( 右へ、 RGBA(255, 255, 255, 0)、 白 50%、 白 ); 背景: -o-線形グラデーション( 右へ、 RGBA(255, 255, 255, 0)、 白 50%、 白 ); 背景: -ms-linear-gradient( 右へ、 RGBA(255, 255, 255, 0)、 白 50%、 白 ); 背景: 線形グラデーション( 右へ、 RGBA(255, 255, 255, 0)、 白 50%、 白 ); } 効果例 これで、純粋な CSS で「テキストオーバーフロー、切り捨て、省略」を実装するいくつかの方法についての記事は終了です。CSS テキストオーバーフロー、切り捨て、省略に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。 |
<<: JavaScript配列の一般的なメソッドの詳細な説明
>>: イラスト風ウェブサイトホームページデザイン ウェブサイトデザインの新トレンド
目次1. オプションとは何ですか? 2. 含まれる属性3. エントリー属性エルデータ方法コンポーネン...
目次序文ローカルストレージの使用シナリオ使用上の問題解決機能性有効期限を追加データ暗号化を追加する命...
トリガー メソッドを使用できます。JavaScript にはネイティブのトリガー関数はありません。自...
最近プロジェクトが中断され、RageFrame の研究は一時的に終了しました。この記事では、シングル...
inputボックスを純粋な数字のみに制限する1、onkeyup = "value=valu...
目次ミックスインの実装フック関数のマージプロジェクト実践伸ばす要約するVue は mixins AP...
目次Portainerは複数のDockerコンテナ環境を管理します2. Dockerを管理する2.1...
1. オンラインインストール現在、Linux x86アーキテクチャのオンラインインストールのみを試し...
3ウェイハンドシェイクフェーズクライアントSYNパケットの再試行回数sysctl -w net.ip...
モチベーション学習の必要性から、海外のサーバーメーカー(どこのメーカーかは言いません)のVPSサービ...
コア資産管理プロジェクトでは、el-transfer にドラッグ アンド ドロップによる並べ替えと、...
目次導入リンク始めるコードを読み進めてくださいプロキシ設定傍受を要求する異なるプレフィックスを持つイ...
序文: Vue プロジェクトで現在のマウスの座標を取得するにはどうすればよいでしょうか。ここで共有す...
システムの起動時に読み込む必要がある設定ファイル/etc/profile、/root/.bash_p...
1、%: 0 個以上の任意の文字を表します。あらゆるタイプと長さの文字に一致します。場合によっては、...