Web ページをデザインするときに、テキストが長すぎてページが見苦しくなる場合があります。では、この問題を解決するにはどうすればよいでしょうか。この記事では、省略記号を越える単行テキストと省略記号内の複数行テキストをcssで実装する方法を紹介します。
まず最初に、省略記号を超えて 1 行のテキストを表示する CSS メソッドを見てみましょう。
css 単一行のテキストに省略記号のオーバーフロー表示を実装するには、text-overflow:ellipsis 属性 を追加する必要があります。 width 属性は部分的なブラウジングと互換性があります。
#省略記号を超える CSS 単一行テキストの実装コード:
<!DOCTYPE html> <html> <head> <meta charset=utf-8"> <title>省略号 test</title> <style type="text/css"> *{ margin:0; padding:0; } body{ padding:10px; font-family:Arial; } #test { position:relative; width:150px; height:20px; line-height:20px; text-overflow:ellipsis; white-space:nowrap; *white-space:nowrap; overflow:hidden; border:1px solid #999; } #test span{ position:absolute; top:0; right:0; display:block; float:left; } </style> </head> <body> <div id="test">php中文网php中文网php中文网php中文网php中文网php中文网php中文网</div> </body> </html>
を超えて複数行のテキストを実装する css メソッドについて説明していきます。 (text-overflow:ellipsis 属性の詳細については、css マニュアル を参照してください。)
1. CSS は、複数行のテキストが省略記号を超えると、 css 属性を使用して直接設定できます (-webkit kernel のみが機能します)
構文:overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
2. CSS を使用して、絶対位置とパディングを使用して省略記号を超えた複数行のテキストを実装します (クロスブラウザー ソリューション)
構文:p{ position: relative; line-height: 20px; max-height: 40px; overflow: hidden; } p::after{ content: "..."; position: absolute; bottom: 0; right: 0; padding-left: 40px; background: -webkit-linear-gradient(left, transparent, #fff 55%); background: -o-linear-gradient(right, transparent, #fff 55%); background: -moz-linear-gradient(right, transparent, #fff 55%); background: linear-gradient(to right, transparent, #fff 55%); }
注: この方法には幅広い用途がありますが、テキストが行を超えない場合にも省略記号が表示されます。この方法は js で最適化できます。
以上がCSS テキストが単一行および複数行の省略記号を超えていることを認識するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。