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

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

例示する

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

準備知識

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

推薦する

DockerコンテナのIPアドレスを表示する方法

私はずっとDockerにはIPアドレスがないと思っていました。実はDockerのネットワークテンプレ...

JavaScript が重複したネットワークリクエストを防ぐ方法の例

序文開発中は、インターフェース要求の繰り返しによってさまざまな問題が発生することがよくあります。ネッ...

開発効率の向上に役立つ 56 個の実用的な JavaScript ツール関数

目次1. デジタルオペレーション(1)指定された範囲内で乱数を生成する2. 配列操作(1)配列の順序...

ubuntu18.04 での qt5.12.8 のインストールと環境設定に関する詳細なチュートリアル

環境システム: Ubuntu 18.04ソフトウェア: qt5.12.8 1. インストールパッケー...

Ubuntu 18.04 は pyenv、pyenv-virtualenv、virtualenv、Numpy、SciPy、Pillow、Matplotlib をインストールします

1. 現在、Pythonのバージョン管理ツールは数多く存在します。その中でも比較的使いやすいのがPy...

ウェブページでmp3またはフラッシュプレーヤーコードを再生する

コードをコピーコードは次のとおりです。 <オブジェクト id="player1&qu...

Vueはログインジャンプを実装する

この記事では、ログインジャンプを実装するためのVueの具体的なコードを例として紹介します。具体的な内...

js シンプルで粗雑なパブリッシュとサブスクライブのサンプルコード

パブリッシュ/サブスクライブとは何ですか?例を挙げてみましょう。あなたは服を買うために店に行きます。...

JavaScript 関数はランダムな色の検証コードをカプセル化します (完全なコード)

数字、文字、またはランダムな色の数字と文字の混合で構成される n 桁の確認コード。以下に完全なコード...

JavaScript の非同期処理で待機時間を節約できますか?

JavaScriptで非同期実行の結果を同期的に取得するには、 for ループ内でawaitを使用...

MySQL 8.0.11 インストール概要チュートリアル図

インストール環境: CAT /etc/os-release CentOS システムのバージョン情報を...

Zabbix WEB 監視実装プロセス図

Zabbix独自のWEBインターフェースを例に、Web監視の設定を行います。環境: zabbix4....

JS を使用して HTML で回転するクリスマスツリーを実装する

<!DOCTYPE ヘムル パブリック> <html> <ヘッド&g...

MySQLのバックアップとリカバリの簡単な分析

目次1. はじめに2. バックアップとリカバリの簡単な定義3. 復旧計画で考慮すべきいくつかの要素4...