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 スクロールイベント停止と要素位置検出の実装

推薦する

Visual Studio Code + Reactをベースに開発環境を構築するプロセス

開発環境ウィンドウ開発ツール Visual Studio Codeノードのインストールとnpm Wi...

JavaScript の 7 つのデータ型の詳細な説明

目次序文:詳しい紹介:練習する:要約する序文: Python、Java、Cシリーズなど、すべての主要...

docker での psql データベースのバックアップとリカバリの詳細な説明

1. DockerでのPostgresデータベースのバックアップ注文: docker exec it...

JS での Reduce Fold Unfold の使用法の詳細な説明

目次折りたたむ(減らす) for...of の使用whileループの使用折り畳み実装に近い展開する配...

Web デザイン TabIndex 要素

TabIndex は、Tab キーを押して、定義された TabIndex 要素を順番に取得し、各要素...

Vue で Baidu Map を呼び出して経度と緯度を取得する

プロジェクトでは、現在地の緯度経度を取得したり、場所を検索して緯度経度情報を取得したりする必要があり...

vscode で Prettier Code プラグインを使用する詳細なチュートリアル

なぜprettierを使うのですか?大企業では、フロントエンド開発コードに独自のコード標準がある場合...

TypeScript の条件型に関する詳細な読書と実践記録

目次ジェネリック型での条件型の使用ツールタイプ脱出ポッド矢印関数で条件型を使用する型推論による条件型...

MySQLクエリのパフォーマンスに影響を与える大きなオフセットの理由と最適化の詳細な説明

序文MySQL クエリは select コマンドを使用し、limit および offset パラメー...

Docker+K8S クラスタ環境構築と分散アプリケーション展開

1. Dockerをインストールする yumでdockerをインストール #サービスを開始する sy...

MySQL デュアルマシン ホットスタンバイ実装ソリューション [テスト可能]

目次1. コンセプト2. 環境の説明3. マスタースレーブホットスタンバイ実装1. コンセプト1. ...

JavaScriptのvar let constの違いは何ですか?

目次1. 繰り返し宣言1.1 変数1.2 しましょう1.3 定数2. 可変プロモーション2.1 変数...

three.js を使って立体的な矢印線を描く詳細な手順

需要: この需要は緊急に必要です!地下鉄のシーンでは、脱出経路を示す矢印を描かなければなりません。こ...

Tomcat+Mysql の高同時実行構成の最適化の説明

1.Tomcatの最適化構成(1)Tomcatのcatalina.batを変更するJavaをサーバー...

Mysql の追加、削除、変更、クエリステートメントのシンプルな実装

Mysql の追加、削除、変更、クエリステートメントのシンプルな実装追加されたレコード: テーブル名...