ホームページ >ウェブフロントエンド >CSSチュートリアル >2 行以降のテキストを非表示にして、「...123 T.」のようなオーバーフロー インジケーターを表示するにはどうすればよいですか?

2 行以降のテキストを非表示にして、「...123 T.」のようなオーバーフロー インジケーターを表示するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-02 12:07:11359ブラウズ

How to Hide Text After Two Lines and Display an Overflow Indicator like

2 行目のオーバーフロー インジケーターを使用してドットの後のテキストを非表示にする

限られたスペースでテキストを表示する場合、多くの場合、切り詰めてオーバーフローを示す必要があります。この質問は、2 行を超えるテキストを非表示にし、「...123 T」を追加するという課題に取り組みます。

現在の実装

提供されたコードは、最初にこの問題に取り組みます:

<div class="container">
  <span class="main-text">
    Long text that exceeds two lines.
  </span>
  <span class="small-text">123 T.</span>
</div>
.main-text {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

while thisこのメソッドは 2 行以内の余分なテキストを非表示にしますが、ブラウザー間互換性がないため、希望の条件を完全には満たさない可能性があります。

今後の解決策

仕様では、このタスクを 1 行で簡素化できる短縮プロパティ line-clamp を提案しています。

line-clamp: 2 "...123 T.";

このプロパティにより、オーバーフローを伴う視覚的に切り詰められたテキストの作成が可能になります

ハックな代替手段

line-clamp プロパティが広くサポートされるまでは、CSS ハックを使用して回避策を達成できます:

.main-text {
  line-height: 1.2em;
  max-height: calc(2 * 1.2em);
  overflow: hidden;
  position: relative;
}
<div class="main-text">
  Lorem ipsum ...<span>123 T.</span>
</div>

このアプローチでは、隠されたドットと「123 T」を含むスパン要素です。テキストはコンテナの右下に配置されます。大きなボックスシャドウを使用してドットが見えなくなり、省略記号のみが表示されます。

以上が2 行以降のテキストを非表示にして、「...123 T.」のようなオーバーフロー インジケーターを表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。