特定の段落では、テキストが 1 行のみ表示される必要がありますが、width
が固定されており、テキストが長すぎると、長さ制限を超えるテキストが非表示になり省略記号が表示される必要があります。CSS はこのようなプロパティをサポートしています。
1 行テキストのオーバーフロー非表示
div{
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
複数行テキストのオーバーフロー非表示
div {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
}
わずか数行のコードで要件を満たすことができます。
ただし、注意する必要があるポイントがあります!
flex レイアウトは、フロントエンドのコーディングでよく使用されるレイアウト方法であり、シンプルで効果的ですが、flex レイアウトを使用している要素では同時にテキストのオーバーフローを非表示にすることはできません、つまり、これら 2 つは同じタグ内で同時に表示されることはできません。
ここで、対応策があります。
flex レイアウトと非表示のスタイルが同じレベルの要素にないことを確認するだけでよく、そのためにはテキストの外側にさらに 1 つのタグを追加します。
以下のコードのように記述することができます;
<p>
<!-- ここでflexレイアウトを適用する -->
<span> <!-- ここでテキストのオーバーフロー非表示スタイルを適用する -->
<!-- テキスト -->
</span>
</p>