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

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

例示する

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

準備知識

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値に関する小さな問題

推薦する

JSの基本概念の詳細な紹介

目次1. JSの特徴1.1 マルチパラダイム1.2 説明1.3 シングルスレッド1.4 ノンブロッキ...

ウェブページをデザインする際に注意すべきいくつかの問題

Web デザインは、個人の好みや Web ページの内容に応じて、デザインのレイアウトが常に変化します...

Linux で ss コマンドと zabbix を組み合わせてソケットを監視する方法の詳細な説明

目次序文1. ssコマンド2. Zabbix監視マシンの全体的なソケットステータス2.1. スクリプ...

MySQL学習記録: KEYパーティションが引き起こした血なまぐさい事件

需要背景ビジネス テーブル tb_image のデータの一部は次のとおりです。id は一意ですが、i...

分散監視システムにおけるZabbixのアクティブ、パッシブ、Web監視のプロセスの詳細な説明

前回の記事では、Zabbix のネットワーク検出機能について学習し、アクションと組み合わせてホストの...

vue+django でファイルをダウンロードする例

目次1. 概要2. Django プロジェクト3. Vueプロジェクト1. 概要プロジェクトで、ダウ...

MySQLのexecute、executeUpdate、executeQueryの違い

execute、executeUpdate、executeQuery の違い (およびそれらの戻り値...

jsはクリックしてカードを切り替える機能を実現します

この記事の例では、クリックしてカードを切り替える機能を実現するためのjsの具体的なコードを共有してい...

プロジェクトのフロントエンドとバックエンドでの Echart チャートの使用に関する詳細な説明

目次序文1. プロジェクトアーキテクチャ2. Echart公式サイトにアクセスして自己分析を学ぶ2....

Apache SkyWalkingのセルフモニタリングを素早く有効にする方法を説明します

1. Prometheusテレメトリデータを有効にするデフォルトでは、テレメトリは次のように無効にな...

MySQLアラームの詳細な分析と処理

最近、あるサービスにアラームが発生し、耐えられなくなっています。アラーム情報は次のとおりです。メトリ...

Linux の MySQL でリモート接続を承認する方法

注意: 他のマシン (IP) は、承認なしではクライアント経由で MySQL データベースに接続でき...

CSSは、マウスを線の上に置くと線全体の色を変える効果を実現します。

まとめ:以下のように、CSS で指定した行にマウスを置いたときに行全体の色を変更する方法を示します。...

データベースの削除から逃走までの MySQL の徹底分析_上級編 (I) - データ整合性

1. データ整合性の概要1. データ整合性の概要データの冗長性とは、データベース内に重複したデータが...

Sqoop エクスポート マップ 100% 削減 0% さまざまな理由と解決策でスタック

私はこのようなバグを典型的な「ハムレット」バグと呼んでいます。これは、「エラーメッセージは同じだが、...