Table des matières
一、CSS display属性的表格布局相关属性的解释:
二、示例代码
1、普通表格
2、列合并实现表格
3、行合并表格
Maison interface Web tutoriel HTML 基于CSS属性display:table的表格布局的使用_html/css_WEB-ITnose

基于CSS属性display:table的表格布局的使用_html/css_WEB-ITnose

Jun 24, 2016 am 11:23 AM

项目改造中遇到DIV+CSS实现的table,新需求需要在表格使用单元格合并,网上调查返现CSS display:table实现的table表格,没有单元格的属性和样式,经过一番思考,曲折现实了单元格的合并,即采用正行嵌套一个单独的display:table的DIV,然后在嵌套的表格DIV内部通过控制行列数和行列的高度,实现单元格合并。个人建议全新实现使用

HTML标签即可

一、CSS display属性的表格布局相关属性的解释:

  • table    此元素会作为块级表格来显示(类似
  • ),表格前后带有换行符。
  • table-row-group    此元素会作为一个或多个行的分组来显示(类似
  • )。
  • table-header-group    此元素会作为一个或多个行的分组来显示(类似
  • )。
  • table-footer-group    此元素会作为一个或多个行的分组来显示(类似
  • )。
  • table-row    此元素会作为一个表格行显示(类似
  • )。
  • table-column-group    此元素会作为一个或多个列的分组来显示(类似
  • )。
  • table-column    此元素会作为一个单元格列显示(类似
  • table-cell    此元素会作为一个表格单元格显示(类似
  • 二、示例代码

    1、普通表格

     1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>display普通表格</title> 6 <style type="text/css"> 7 .table, .table * {margin: 0 auto; padding: 0;font-size: 14px;font-family: Arial, 宋体, Helvetica, sans-serif;} 8 .table {display: table; width: 80%; border-collapse: collapse;} 9 .table-tr {display: table-row; height: 30px;}10 .table-th {display: table-cell;font-weight: bold;height: 100%;border: 1px solid gray;text-align: center;vertical-align: middle;background-color:#E5E5E5;}11 .table-td {display: table-cell; height: 100%;border: 1px solid gray; text-align: center;vertical-align: middle;}12 </style>13 </head>14 <body>15     <div class="table">16         <div class="table-tr">17             <div class="table-th">省份/直辖市</div>18             <div class="table-th">GDP(亿元)</div>19             <div class="table-th">增长率</div>20         </div>21         <div class="table-tr">22             <div class="table-td">广东</div>23             <div class="table-td">72812</div>24             <div class="table-td">8.0%</div>25         </div>26         <div class="table-tr">27             <div class="table-td">河南</div>28             <div class="table-td">37010</div>29             <div class="table-td">8.3%</div>30         </div>31         <div class="table-tr">32             <div class="table-td">江苏</div>33             <div class="table-td">70116</div>34             <div class="table-td">8.5%</div>35         </div>36     </div>37 </body>38 </html>
    Copier après la connexion

    运行效果


    2、列合并实现表格

    实现思路:基于display:table的表格实现,没有

  • table-caption    此元素会作为一个表格标题显示(类似
  • 的rowspan和colspan单元格合并的实现,所以曲折实现,将表格每行单独嵌套一个独立的表格,这样在嵌套的独立表格内部,单元格合并就能通过控制嵌套表格的行数和列数以及单元格的宽高来实现

     1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>基于display列合并表格</title> 6 <style type="text/css"> 7 .table, .table * {margin: 0 auto; padding: 0;font-size: 14px;font-family: Arial, 宋体, Helvetica, sans-serif;} 8 .table {display: table; width: 80%; border-collapse: collapse;} 9 10 .table-tr {display: table-row; height: 30px;}11 .table-th {display: table-cell;font-weight: bold;height: 100%;border: 1px solid gray;text-align: center;vertical-align: middle;background-color:#E5E5E5;}12 .table-td {display: table-cell; height: 100%;}13 14 .sub-table {width: 100%;height: 100%;display: table;}15 .sub-table-tr {display: table-row; height: 100%;}16 .sub-table-td {display: table-cell; height: 100%;border: 1px solid gray; text-align: center;vertical-align: middle;}17 18 </style>19 </head>20 <body>21 22 <div class="table">23     <div class="table-tr">24         <div class="table-td">25             <div class="sub-table">26                 <div class="sub-table-tr">27                     <div class="table-th" style="width: 40%;">省份/直辖市</div>28                     <div class="table-th" style="width: 30%;">GDP(亿元)</div>29                     <div class="table-th" style="width: 30%;">增长率</div>30                 </div>31             </div>32         </div>33     </div>34     <div class="table-tr">35         <div class="table-td">36             <div class="sub-table">37                 <div class="sub-table-tr">38                     <div class="sub-table-td" style="width: 40%;">广东</div>39                     <div class="sub-table-td" style="width: 30%;">72812</div>40                     <div class="sub-table-td" style="width: 30%;">8.0%</div>41                 </div>42             </div>43         </div>44     </div>45     <div class="table-tr">46         <div class="table-td">47             <div class="sub-table">48                 <div class="sub-table-tr">49                     <div class="sub-table-td" style="width: 40%;">河南</div>50                     <div class="sub-table-td" style="width: 30%;">37010</div>51                     <div class="sub-table-td" style="width: 30%;">8.3%</div>52                 </div>53             </div>54         </div>55     </div>56     <div class="table-tr">57         <div class="table-td">58             <div class="sub-table">59                 <div class="sub-table-tr">60                     <div class="sub-table-td" style="width: 40%;">江苏</div>61                     <div class="sub-table-td" style="width: 30%;">70116</div>62                     <div class="sub-table-td" style="width: 30%;">8.5%</div>63                 </div>64             </div>65         </div>66     </div>67     <div class="table-tr">68         <div class="table-td">69             <div class="sub-table">70                 <div class="sub-table-tr">71                     <div class="sub-table-td" style="width: 70%;">各省/直辖市GDP平均增长率</div>72                     <div class="sub-table-td" style="width: 30%;">8.26%</div>73                 </div>74             </div>75         </div>76     </div>77 </div>78 </body>79 </html>
    Copier après la connexion

    运行效果


    3、行合并表格

    行合并的实现思路:与列合并的实现思路类似,将有单元格合并的列单独嵌套一个display为table的DIV,高度=单行高*单元格合并数目的倍数,同行的其他列同样均单独嵌套DIV,实例代码如下

      1 <!DOCTYPE html>  2 <html>  3 <head>  4 <meta charset="UTF-8">  5 <title>基于display的行合并表格</title>  6 <style type="text/css">  7 .table, .table * {margin: 0 auto; padding: 0;font-size: 14px;font-family: Arial, 宋体, Helvetica, sans-serif;}  8 .table {display: table; width: 80%; border-collapse: collapse;}  9  10 .table-tr {display: table-row; height: 30px;} 11 .table-th {display: table-cell;font-weight: bold;height: 100%;border: 1px solid gray;text-align: center;vertical-align: middle;background-color:#E5E5E5;} 12 .table-td {display: table-cell; height: 100%;} 13  14 .sub-table {width: 100%;height: 100%;display: table;} 15 .sub-table-tr {display: table-row; height: 100%;} 16 .sub-table-td {display: table-cell; height: 100%;border: 1px solid gray; text-align: center;vertical-align: middle;} 17  18 </style> 19 </head> 20 <body> 21  22 <div class="table"> 23     <div class="table-tr"> 24         <div class="table-td"> 25             <div class="sub-table"> 26                 <div class="sub-table-tr"> 27                     <div class="table-th" style="width: 40%;">省份/直辖市</div> 28                     <div class="table-th" style="width: 30%;">GDP(亿元)</div> 29                     <div class="table-th" style="width: 30%;">增长率</div> 30                 </div> 31             </div> 32         </div> 33     </div> 34     <div class="table-tr"> 35         <div class="table-td"> 36             <div class="sub-table"> 37                 <div class="sub-table-tr"> 38                     <div class="sub-table-td" style="width: 40%;">广东</div> 39                     <div class="sub-table-td" style="width: 30%;">72812</div> 40                     <div class="sub-table-td" style="width: 30%;">8.0%</div> 41                 </div> 42             </div> 43         </div> 44     </div> 45     <div class="table-tr" style="height:60px;"> 46         <div class="table-td"> 47             <div class="sub-table"> 48                 <div class="sub-table-tr"> 49                     <div class="sub-table-td" style="width: 40%; border: none;"> 50                         <div class="sub-table"> 51                             <div class="sub-table-tr" style="height:50%;"> 52                                 <div class="sub-table-td" style="width: 100%; height:50%;"> 53                                     河南 54                                 </div> 55                             </div> 56                             <div class="sub-table-tr" style="height:50%;"> 57                                 <div class="sub-table-td" style="width: 100%; height:50%;"> 58                                     江苏 59                                 </div> 60                             </div> 61                         </div> 62                     </div> 63                     <div class="sub-table-td" style="width: 30%;border: none;"> 64                         <div class="sub-table"> 65                             <div class="sub-table-tr" style="height:50%;"> 66                                 <div class="sub-table-td" style="width: 100%; height:50%;"> 67                                     37010 68                                 </div> 69                             </div> 70                             <div class="sub-table-tr" style="height:50%;"> 71                                 <div class="sub-table-td" style="width: 100%; height:50%;"> 72                                     70116 73                                 </div> 74                             </div> 75                         </div> 76                      77                     </div> 78                      79                     <div class="sub-table-td" style="width: 30%;border: none;"> 80                         <div class="sub-table"> 81                             <div class="sub-table-tr"> 82                                 <div class="sub-table-td" style="width: 100%;"> 83                                     8.4% 84                                 </div> 85                             </div> 86                         </div> 87                     </div> 88                 </div> 89             </div> 90         </div> 91     </div> 92     <div class="table-tr"> 93         <div class="table-td"> 94             <div class="sub-table"> 95                 <div class="sub-table-tr"> 96                     <div class="sub-table-td" style="width: 70%;">各省/直辖市GDP平均增长率</div> 97                     <div class="sub-table-td" style="width: 30%;">8.26%</div> 98                 </div> 99             </div>100         </div>101     </div>102 </div>103 </body>104 </html>
    Copier après la connexion

     

    运行效果:

     

    END

     

    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

    Outils d'IA chauds

    Undresser.AI Undress

    Undresser.AI Undress

    Application basée sur l'IA pour créer des photos de nu réalistes

    AI Clothes Remover

    AI Clothes Remover

    Outil d'IA en ligne pour supprimer les vêtements des photos.

    Undress AI Tool

    Undress AI Tool

    Images de déshabillage gratuites

    Clothoff.io

    Clothoff.io

    Dissolvant de vêtements AI

    AI Hentai Generator

    AI Hentai Generator

    Générez AI Hentai gratuitement.

    Article chaud

    R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Meilleurs paramètres graphiques
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Comment réparer l'audio si vous n'entendez personne
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25: Comment déverrouiller tout dans Myrise
    4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

    Outils chauds

    Bloc-notes++7.3.1

    Bloc-notes++7.3.1

    Éditeur de code facile à utiliser et gratuit

    SublimeText3 version chinoise

    SublimeText3 version chinoise

    Version chinoise, très simple à utiliser

    Envoyer Studio 13.0.1

    Envoyer Studio 13.0.1

    Puissant environnement de développement intégré PHP

    Dreamweaver CS6

    Dreamweaver CS6

    Outils de développement Web visuel

    SublimeText3 version Mac

    SublimeText3 version Mac

    Logiciel d'édition de code au niveau de Dieu (SublimeText3)

    Quel est le but du & lt; Progress & gt; élément? Quel est le but du & lt; Progress & gt; élément? Mar 21, 2025 pm 12:34 PM

    L'article traite du HTML & lt; Progress & GT; élément, son but, son style et ses différences par rapport au & lt; mètre & gt; élément. L'objectif principal est de l'utiliser & lt; Progress & gt; pour l'achèvement des tâches et & lt; mètre & gt; pour stati

    Quel est le but du & lt; datalist & gt; élément? Quel est le but du & lt; datalist & gt; élément? Mar 21, 2025 pm 12:33 PM

    L'article traite du HTML & lt; Datalist & GT; élément, qui améliore les formulaires en fournissant des suggestions de saisie semi-automatique, en améliorant l'expérience utilisateur et en réduisant les erreurs. COMMANDE COMPRES: 159

    Quelles sont les meilleures pratiques pour la compatibilité entre les navigateurs dans HTML5? Quelles sont les meilleures pratiques pour la compatibilité entre les navigateurs dans HTML5? Mar 17, 2025 pm 12:20 PM

    L'article examine les meilleures pratiques pour assurer la compatibilité des navigateurs de HTML5, en se concentrant sur la détection des fonctionnalités, l'amélioration progressive et les méthodes de test.

    Quel est le but du & lt; mètre & gt; élément? Quel est le but du & lt; mètre & gt; élément? Mar 21, 2025 pm 12:35 PM

    L'article traite du HTML & lt; mètre & gt; élément, utilisé pour afficher des valeurs scalaires ou fractionnaires dans une plage, et ses applications courantes dans le développement Web. Il différencie & lt; mètre & gt; De & lt; Progress & gt; et ex

    Comment utiliser les attributs de validation du formulaire HTML5 pour valider l'entrée utilisateur? Comment utiliser les attributs de validation du formulaire HTML5 pour valider l'entrée utilisateur? Mar 17, 2025 pm 12:27 PM

    L'article discute de l'utilisation des attributs de validation de formulaire HTML5 comme les limites requises, motifs, min, max et longueurs pour valider la saisie de l'utilisateur directement dans le navigateur.

    Quelle est la balise Meta de la fenêtre? Pourquoi est-ce important pour une conception réactive? Quelle est la balise Meta de la fenêtre? Pourquoi est-ce important pour une conception réactive? Mar 20, 2025 pm 05:56 PM

    L'article traite de la balise Meta de la fenêtre, essentielle pour la conception Web réactive sur les appareils mobiles. Il explique comment une utilisation appropriée garantit une mise à l'échelle optimale du contenu et une interaction utilisateur, tandis que la mauvaise utilisation peut entraîner des problèmes de conception et d'accessibilité.

    Quel est le but du & lt; iframe & gt; étiqueter? Quelles sont les considérations de sécurité lorsque vous l'utilisez? Quel est le but du & lt; iframe & gt; étiqueter? Quelles sont les considérations de sécurité lorsque vous l'utilisez? Mar 20, 2025 pm 06:05 PM

    L'article traite du & lt; iframe & gt; L'objectif de Tag dans l'intégration du contenu externe dans les pages Web, ses utilisations courantes, ses risques de sécurité et ses alternatives telles que les balises d'objet et les API.

    Gitee Pages STATIQUE Le déploiement du site Web a échoué: comment dépanner et résoudre les erreurs de fichier unique 404? Gitee Pages STATIQUE Le déploiement du site Web a échoué: comment dépanner et résoudre les erreurs de fichier unique 404? Apr 04, 2025 pm 11:54 PM

    GiteEpages STATIQUE Le déploiement du site Web a échoué: 404 Dépannage des erreurs et résolution lors de l'utilisation de Gitee ...

    See all articles