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

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

例示する

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

準備知識

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

推薦する

MySQLの構文、特殊記号、正規表現の詳細な説明

Mysql でよく使用される表示コマンド1. 現在のデータベース サーバー内のデータベースの一覧を表...

MySQLデータベースのスケジュールバックアップを実装する方法

1. シェルスクリプトを作成する vim バックアップdb.sh 次のようにスクリプトを作成します。...

VMware 仮想マシンに Centos7.3 をインストールするチュートリアル図

VMware の準備 CentOS の準備、こちらは CentOS 7.3 CentOS-7-x86...

Web 開発の面接と筆記試験に必須の知識(必読)

HTML のインライン要素とブロックレベル要素の違い:標準的なドキュメント フローでは、ブロック ...

MySQLがトランザクション分離を実装する方法の簡単な分析

目次1. はじめに2. RC および RR 分離レベル2.1. RRトランザクション分離レベルでのク...

Linux DHCPサービスの詳細な説明

目次1. DHCP サービス (動的ホスト構成プロトコル) 1. 背景2. 概要3. 利点4.DHC...

アイデアを war パッケージにパッケージ化し、tomcat にデプロイしてアクセス パスの問題 (図とテキスト)

Web プロジェクトを war にパッケージ化するアイデアにとって最も重要なことは、アトリフィカを...

Vueはミックスインを使用してコンポーネントを最適化します

目次ミックスインの実装フック関数のマージプロジェクト実践伸ばす要約するVue は mixins AP...

WindowsでMysql5.7.17のインストールと起動に失敗する問題を解決する

マシンに初めて MySQL をインストールします。オペレーティングシステムはwin7ですmysqlの...

Filebeat を使用して Nginx ログを収集する方法

Nginx ログは、ユーザーの住所の場所や行動プロファイルなどを分析するために使用できます。Elas...

Navicateを使用してAlibaba Cloud Server上のMySQLに接続する

1. まず、サーバーの mysql にアクセスして権限を変更します。 GRANT オプション付きで、...

MySQLデータベースの圧縮バージョンのインストールと設定に関する詳細なチュートリアル

目次1. MySQLをダウンロードする2. 圧縮パッケージを解凍する3. MySQLを初期化する4....

nginx で第 3 レベルドメイン名を設定する方法の例

問題の説明nginx を設定することで、異なるポートを介して異なる Web アプリケーションにアクセ...

Vueデータ変更検出の基本的な実装の簡単な分析

目次1. オブジェクトの変更検出2. オブジェクトに関する質問配列変更検出3.1 背景3.2 実装I...

MySQL、Oracle、SQL Server のページングクエリ例の分析

最近、Oracle、MySQL、SQL Server 2005 のデータ ページング クエリについて...