表のセルの内容が超過した場合に省略記号効果を表示する(実装コード)

表のセルの内容が超過した場合に省略記号効果を表示する(実装コード)

例示する

フロントエンド開発では、セルの幅を制限し、コンテンツが制限を超える部分に省略記号を表示する必要がある状況に遭遇することがよくあります。この効果を実現する方法について簡単に紹介します。

準備知識

1. 改行なしでテキストを制御する

空白: ラップなし;

2. 長さを超えると省略記号が表示されます

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

テキストオーバーフロー:省略記号

3. テーブルレイアウトアルゴリズムを変更する

table-layout:fixed; table-layout のデフォルト値は automatic です。つまり、列の幅はセルの内容によって設定されます。固定とは、列幅がテーブル幅と列幅によって設定されることを意味します。

つまり、表の列幅を設定しても、実際には機能しません。セル内のコンテンツが多すぎると、幅は拡張されます。テーブルの列幅をセルに定義した列幅によって決定する場合は、固定値を使用する必要があります。

注意: 1. 表の幅を設定する必要があります。2. 列の幅を設定せずに表の幅のみを設定すると、列の幅は均等に分散されます。

コードデモンストレーション

次のコードに示すように、テーブルには名前、年齢、性別、住所の 4 つの列があります。これらの列の長さは、それぞれ 10%、20%、30%、40% です。

XML/HTML コードコンテンツをクリップボードにコピー
  1. <!doctype html >   
  2. < html   lang = "ja" >   
  3. <ヘッド>   
  4.      <メタ 文字セット= "UTF-8"   />   
  5.      < title >テーブルデモンストレーション</ title >   
  6.      <スタイル タイプ= "text/css" >   
  7. テーブル{
  8. 幅: 100%;
  9. テーブルレイアウト: 固定;
  10. }
  11. 。名前{
  12. 幅: 10%;
  13. }
  14. 。年{
  15. 幅: 20%;
  16. }
  17. .セックス{
  18. 幅: 30%;
  19. }
  20. .addr{
  21. 幅: 40%;
  22. }
  23.            
  24.      </スタイル>   
  25. </ヘッド>   
  26. <本文>   
  27.      < 境界線= "1"  セル間隔= "0"  セルパディング= "0" >   
  28.          <スレッド>   
  29.              < tr >   
  30.                  <番目  class = " name " >名前</th>   
  31.                  <番目 クラス= "年齢" >年齢</th>   
  32.                  <番目  class = " sex " >性別</th>   
  33.                  <番目  class = " addr " >住所</th>   
  34.              </tr>   
  35.          </スレッド>   
  36.          < tボディ>   
  37.              < tr >   
  38.                  < td >李思</ td >   
  39.                  < td > 13 </ td >   
  40.                  < td >男性</ td >   
  41.                  < td >山東省</ td >   
  42.              </tr>   
  43.              < tr >   
  44.                  < td >李思</ td >   
  45.                  < td > 13 </ td >   
  46.                  < td >男性</ td >   
  47.                  < td >山東省</ td >   
  48.              </tr>   
  49.              < tr >   
  50.                  < td >李思</ td >   
  51.                  < td > 13 </ td >   
  52.                  < td >男性</ td >   
  53.                  < td >山東省</ td >   
  54.              </tr>   
  55.          </ tbody >   
  56.      </>   
  57. </本文>   
  58. </html>   

表示効果は以下のとおりです。

名前、年齢、性別、住所の列の長さがそれぞれ 10%、20%、30%、40% であることが簡単にわかります。

ファーストネームの内容が増えると、その効果は見るに耐えないものになります(>﹏<)!

見るのが耐えられない(>﹏<)! !

1行を超える部分を省略記号として表示するにはどうすればよいですか?セルのプロパティを次のように設定するだけです。

XML/HTML コードコンテンツをクリップボードにコピー
  1. white-space: nowrap;/* 1行表示を制御 */
  2. overflow: hidden;/*hidden を超えています*/
  3. text-overflow: ellipsis;/*隠し文字は省略記号で表されます*/

では、早速コードを見てみましょう。
XML/HTML コードコンテンツをクリップボードにコピー
  1. <!doctype html >   
  2. < html   lang = "ja" >   
  3. <ヘッド>   
  4.      <メタ 文字セット= "UTF-8"   />   
  5.      < title >テーブルデモンストレーション</ title >   
  6.      <スタイル タイプ= "text/css" >   
  7. テーブル{
  8. 幅: 100%;
  9. テーブルレイアウト: 固定;
  10. }
  11. 。名前{
  12. 幅: 10%;
  13. }
  14. 。年{
  15. 幅: 20%;
  16. }
  17. .セックス{
  18. 幅: 30%;
  19. }
  20. .addr{
  21. 幅: 40%;
  22. }
  23. td{
  24. white-space: nowrap;/* 1行表示を制御 */
  25. overflow: hidden;/*hidden を超えています*/
  26. text-overflow: ellipsis;/*隠し文字は省略記号で表されます*/
  27. }
  28.      </スタイル>   
  29. </ヘッド>   
  30. <本文>   
  31.      < 境界線= "1"  セル間隔= "0"  セルパディング= "0" >   
  32.          <スレッド>   
  33.              < tr >   
  34.                  <番目  class = " name " >名前</th>   
  35.                  <番目 クラス= "年齢" >年齢</th>   
  36.                  <番目  class = " sex " >性別</th>   
  37.                  <番目  class = " addr " >住所</th>   
  38.              </tr>   
  39.          </スレッド>   
  40.          < tボディ>   
  41.              < tr >   
  42.                  < td   class = "name2" >リー・シス</ td >   
  43.                  < td > 13 </ td >   
  44.                  < td >男性</ td >   
  45.                  < td >山東省</ td >   
  46.              </tr>   
  47.              < tr >   
  48.                  < td >李思</ td >   
  49.                  < td > 13 </ td >   
  50.                  < td >男性</ td >   
  51.                  < td >山東省</ td >   
  52.              </tr>   
  53.              < tr >   
  54.                  < td >李思</ td >   
  55.                  < td > 13 </ td >   
  56.                  < td >男性</ td >   
  57.                  < td >山東省</ td >   
  58.              </tr>   
  59.          </ tbody >   
  60.      </>   
  61. </本文>   
  62. </html>   

変更後の効果は次のようになります。

表のセルのコンテンツが制限を超えた場合に省略記号効果を表示する方法に関する上記の記事(実装コード)は、エディターが皆さんと共有するすべての内容です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  HTML 特殊文字変換表

>>:  MySQLのnull値に関する小さな問題

推薦する

CSS で垂直方向の中央揃えを行う 7 つの方法の詳細なコード例

レイアウトを編集するとき、通常は水平センタリングと垂直センタリングを使用してデザインします。水平セン...

MySQL における 8 つの一般的な SQL 使用例

序文MySQL は、2016 年もデータベースの人気において力強い成長傾向を維持し続けました。 My...

Vue検証コードコンポーネントの使い方の詳しい説明

この記事の例では、vue検証コードコンポーネントで使用される具体的な実装コードを参考までに共有してい...

CSS スタッキングと Z インデックスのサンプルコード

カスケードとカスケードレベルHTML 要素は 3 次元の概念です。水平方向と垂直方向に加えて、「Z ...

MySQL パフォーマンスの包括的な最適化方法リファレンス、CPU、ファイルシステムの選択から mysql.cnf パラメータの最適化まで

この記事では、一般的な MySQL 最適化方法をいくつかまとめて簡単に紹介します。これは、フルタイム...

JavaScriptとTypeScriptの関係

目次1. JavaScript とは何ですか? 2. JavaScript は何に使用されますか? ...

重要なmysqlログファイルの概要

著者: 丁易出典: https://chengxuzhixin.com/blog/post/mysq...

Javascriptを使用して滑らかな曲線を生成する方法

目次序文ベジェ曲線の紹介二次ベジェ曲線3次ベジェ曲線ベジェ曲線計算機能フィッティングアルゴリズム付録...

CentOSはローカルyumソース/Alibaba Cloud yumソース/163yuanソースを設定し、yumソースの優先順位を設定します。

1. Centosイメージを使用してローカルのyumソースをビルドするCentOS をインストール...

ウェブページ作成によく使われる英語フォント

アリアルArial は、多くの Microsoft アプリケーションとともに配布されるサンセリフ T...

イラスト風ウェブサイトホームページデザイン ウェブサイトデザインの新トレンド

視覚効果が非常に美しく、訪問者に強い印象を残すことがわかります。さらに、重要なポイントが強調され、訴...

Jmeterはデータベースプロセスダイアグラムに接続します

1. MySQL jdbc ドライバー (mysql-connector-java-5.1.28.j...

PostgreSQL データベースにおける varchar、char、text の比較に関する簡単な説明

以下のように表示されます。名前説明する文字可変(n)、varchar(n)長さ制限あり、可変長文字(...

LinuxベースのSelenium環境を構成し、操作を実装する

1. Linux で Selenium を使用する1. Chromeをインストールする次のコマンドを...

アップロード画像コントロールを実現するネイティブ js

この記事の例では、アップロード画像コントロールを実装するためのjsの具体的なコードを参考までに共有し...