1 行または複数行のテキストがオーバーフローしたときに省略記号を表示する CSS を実装する方法

1 行または複数行のテキストがオーバーフローしたときに省略記号を表示する CSS を実装する方法

1. 単一行オーバーフロー

1. 1 行がオーバーフローした場合、超過部分は表示されます...または、遮断されます。前提は幅でなければなりません。
CSS: {width:xxpx;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}、クリップとしてインターセプトされます。

実装コード:

幅:300ピクセル;    
オーバーフロー: 非表示;    
テキストオーバーフロー:省略記号;    
whitewhite-space: nowrap;

効果は以下のようになります。


ただし、このプロパティは、単一行テキストのオーバーフローに対する省略記号の表示のみをサポートしています。複数行テキストのオーバーフローに対して省略記号を表示したい場合はどうすればよいでしょうか。

次に、次のように複数行のテキストがオーバーフローしたときに省略記号を表示することに焦点を当ててみましょう。

2. 複数行オーバーフロー

{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;}

実施方法:

ディスプレイ: -webkit-box;    
-webkit-box-orient: 垂直;    
-webkit-line-clamp: 3;    
オーバーフロー: 非表示;

効果は以下のようになります。


適用範囲:

WebKit の CSS 拡張プロパティが使用されるため、この方法は WebKit ブラウザとモバイル デバイスに適用できます。

注記:

1.-webkit-line-clamp は、ブロック要素に表示されるテキストの行数を制限するために使用されます。 この効果を実現するには、他の WebKit プロパティと組み合わせる必要があります。共通の組み合わせプロパティ:
2.display: -webkit-box; オブジェクトを弾性ボックス モデルとして表示するには、これをプロパティと組み合わせる必要があります。
3.-webkit-box-orient は、伸縮ボックス オブジェクトの子要素の配置を設定または取得するプロパティと組み合わせる必要があります。

実施方法:

p{位置: 相対; 行の高さ: 20px; 最大の高さ: 40px; オーバーフロー: 非表示;}    
p::after{content: "..."; position: absolute; bottombottom: 0; rightright: 0; padding-left: 40px;    
背景: -webkit-linear-gradient(左、透明、#fff 55%);    
背景: -o-linear-gradient(rightright, 透明, #fff 55%);    
背景: -moz-linear-gradient(rightright, 透明, #fff 55%);    
背景: 線形グラデーション(右から右、透明、#fff 55%);    
}

適用範囲:
この方法は応用範囲が広いですが、テキストが行を超えない場合は省略記号が表示されます。この方法は、js と組み合わせて最適化できます。

注記:

1. 高さを行の高さの整数倍に設定して、高さを超えるテキストが表示されないようにします。
2. p::after にグラデーション背景を追加すると、テキストが途中までしか表示されないのを防ぐことができます。
3. IE6-7 ではコンテンツが表示されないため、IE6-7 と互換性を持たせるにはタグを追加する必要があります (例: <span>…<span/>)。IE8 と互換性を持たせるには、::after を :after に置き換える必要があります。

123WORDPRESS.COM 編集者は次のように付け加えています:

IEベースのブラウザではline-heightとheightを定義する必要があり、-webkit-line-clampは数行を意味します。例えば

行の高さ: 20px;

最大高さ: 40px;

ディスプレイ: -webkit-box;

-webkit-box-orient: 垂直;

-webkit-line-clamp: 2;

オーバーフロー: 非表示;

-webkit ラインクランプ

-webkit-line-clamp は、CSS ドラフト仕様には記載されていない、サポートされていない WebKit プロパティです。
ブロック要素に表示されるテキストの行数を制限します。 この効果を実現するには、他の特殊な WebKit プロパティを組み合わせる必要があります。共通の組み合わせプロパティ:
display: -webkit-box; は、オブジェクトを弾性ボックス モデルとして表示する必須属性です。
-webkit-box-orient は、フレックス ボックス オブジェクトの子要素の配置を設定または取得するプロパティと組み合わせる必要があります。
text-overflow を使用すると、複数行のテキストの場合に、範囲を超えたテキストを省略記号「...」で非表示にすることができます。

<<:  Navicatをサーバー上のdockerデータベースに接続する方法

>>:  CSS scroll-snap スクロールイベント停止と要素位置検出の実装

推薦する

Windows 10 での Tomcat のインストールと展開に関する詳細なチュートリアル

目次1 Java環境の設定2 tomcatのインストールと展開Tomcat をインストールして展開す...

MySQL 集計統計データの低速クエリの最適化

前面に書かれた注文テーブル、アクセス記録テーブル、商品テーブルなど、日常生活でデータベースを操作する...

要素内の TimePicker は時間の一部を無効にします (分単位で無効)

プロジェクトの要件は、日付と時刻を選択し、現在の時刻以降の時刻のみを選択し、最小レベルを分単位で無効...

MySQL カーソルの原理と使用例の分析

この記事では、例を使用して MySQL カーソルの原理と使用方法を説明します。ご参考までに、詳細は以...

CSS トランジションを使用した円形ホバー効果のサンプルコード

この記事では ソースコードのオンラインプレビューとダウンロード今日のチュートリアルでは、円のホバー効...

HTML に基づいてページを更新せずにフォーム送信を実装する

ページを更新せずにフォーム送信を実装するために Ajax を使用することは、プロジェクトでよく使用さ...

デザイン理論: コンテンツプレゼンテーションのための 10 のヒント

<br /> テキスト、記号、リンクの3つの側面に焦点を当て、主に中国語で、個人的な執筆...

Vue3ライフサイクル関数とメソッドの詳細な説明

1. 概要いわゆるライフサイクル機能とは、特定の条件下で自動的にトリガーされる機能です。 2. VU...

Zabbixリモートコマンド実行の詳細な例

目次1つ。環境二。予防三つ。例Zabbix トリガーがしきい値に達すると、アラート メッセージの送信...

Centos7 での MySQL のインストールに関するチュートリアル

最近、自宅サーバーにクラウドディスクを導入する予定なので、一連の環境構築作業を始めました。MySQL...

HTML で Web ページに動的な時計を書く

HTML を使用して動的な Web クロックを作成します。コードは次のとおりです。 <!DOC...

jsを使用してスライダーをドラッグする効果を実現します

この記事では、jsでスライダーをドラッグする方法の具体的なコードを参考までに共有します。具体的な内容...

MySQL でのテーブルの作成と削除の詳細な例

テーブル作成コマンドには以下が必要です。 テーブルの名前フィールド名各フィールドを定義します(タイ...

CSSを使用して円形の波効果を実現する

モバイル デバイスでは、金額を表示するために円形の波グラフィックがよく使用されます。最初は、この効果...

WeChatアプレットが検索ボックス機能を実装

この記事の例では、WeChatアプレットの検索ボックス機能を実装するための具体的なコードを参考までに...