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

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

例示する

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

準備知識

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

推薦する

Tomcatがセッションを管理する方法の例

ConcurrentHashMapを学習しましたが、どのように適用すればよいかわかりませんか? To...

Linux環境でrmによって誤って削除されたファイルを回復する方法

目次序文RMの後には希望はあるのでしょうか?最前線を使ってファイルを取得するextundeleteを...

threejs でリアルタイムポリゴン屈折を実装する方法

目次序文ステップ1: セットアップと前方屈折ステップ2: 反射とフレネル方程式ステップ3: 多面屈折...

HTML+JS に基づくシンプルな年齢計算ツールの実装

目次序文デモンストレーション効果HTMLコードCSSコードJavascriptコードデモアドレス序文...

背景位置パーセンテージ原則の詳細な説明

今日、誰かがコードを調整するのを手伝っていたとき、次のようなスタイルを見つけました。 背景位置: 5...

MySQL インデックスのカーディナリティの概念と使用例

この記事では、例を使用して、MySQL インデックス カーディナリティの概念と使用方法を説明します。...

PXEを使用してLinuxシステムを自動的に展開する方法

目次背景DHCPの設定DHCP ファイル (動的ホスト構成プロトコル) の編集tftp 設定sysl...

Mybatis マッパー動的プロキシの原理の分析

序文動的プロキシの原理を説明する前に、まず、mybatis を統合した後の dao 層の 2 つの実...

MySQLが間違ったインデックスを選択する理由と解決策

MySQL では、テーブルに複数のインデックスを指定できますが、ステートメントの実行時に、使用するイ...

MySQLインデックスに関する重要な面接の質問をいくつか共有します

序文インデックスは、データベース内の 1 つ以上の列の値を並べ替え、データベースが効率的にデータを取...

MYSQL大規模書き込み問題の最適化の詳細な説明

概要: MySQL のパフォーマンス最適化について話すとき、誰もがクエリ パフォーマンスを向上させる...

Linux システムで複数のバージョンの PHP を共存させるソリューション (超シンプル)

PHP7が出たので、最新バージョンのファンとしては、早速アップグレードして体験してみました。しかし...

国内SNSのホームページを比較・分析して得た経験をみんなで共有(写真)

この記事では、ソーシャル ウェブサイトのホームページを比較分析することで洞察を得て、ソーシャル ウェ...

動的な色切り替えの実装コードをサポートするために、CSS で SVG 画像を参照します。

表示する svg 画像を追加すると、React はファイルが見つからないというメッセージを表示します...

大きな太陽の天気アイコンを純粋な CSS で記述する方法の例

効果効果図は以下のとおりです実装のアイデアDivは太陽の長方形の光と影を実現します前の疑似要素は、既...