web-dev-qa-db-fra.com

Comment puis-je forcer toutes les lignes d'un tableau à avoir la même hauteur

J'essaye de construire une table html mais je veux forcer toutes les lignes à avoir la même hauteur (peu importe la quantité de contenu dans les cellules). Si une cellule dépasse l'espace, je veux qu'elle coupe simplement le texte et masque le reste.

Est-ce possible en utilisant CSS, etc.?

17
leora

IE uniquement

CSS:

#fixedheight {
    table-layout: fixed;
}

#fixedheight td {
    height: 20px;
    overflow: hidden;
    width: 25%;
}

HTML:

<table id="fixedheight">
    <tbody>
        <tr>
            <td>content</td>
            <td>lots of content that should spend way more time wrapping down than it should if I were just to have a short bit of stuff, that would be invaded by zombies and the such</td>
            <td>more content</td>
            <td>small content</td>
            <td>enough already</td>
        </tr>
    </tbody>
</table>

Solution universelle

CSS:

#fixedheight {
    table-layout: fixed;
}

#fixedheight td {
    width: 25%;
}

#fixedheight td div {
    height: 20px;
    overflow: hidden;
}

HTML:

<table id="fixedheight">
    <tbody>
        <tr>
            <td>
                <div>content</div>
            </td>
            <td>
                <div>lots of content that should spend way more time wrapping down than it should if I were just to have a short bit of stuff, that would be invaded by zombies and the such</div>
            </td>
            <td>
               <div>more content</div>
            </td>
            <td>
               <div>small content</div>
            </td>
            <td>
               <div>enough already</div>
            </td>
        </tr>
    </tbody>
<table>
6
ohmusama

Définissez la propriété CSS height sur la hauteur souhaitée pour les cellules et utilisez overflow: hidden (voir débordement CSS ) pour empêcher le contenu d'étendre les cellules.

3
Henry Merriam

Les styles CSS que vous souhaitez définir sont les suivants: affichage: bloc, hauteur min et hauteur max.

    <!DOCTYPE html>
      <html>
        <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width">
          <title>JS Bin</title>
          <style>
            html{font-size:16px;}
            table{}
            table tr{
              display:block;
              border-bottom:solid green 1px;    
              height:.8em;
              min-height:.8em;
              max-height:.8em;
              background-color:#E300E3;
              overflow:hidden;
           }
         </style>
       </head>
       <body>
         <table id="MyTable">
           <tr><td>16px Font-Size</td><td>Column2</td></tr>
         </table>
       </body>
     </html>
1
alignedfibers

Donnez à la table une classe:

<table class="myTable">...</table>

Et dans le CSS, essayez ce qui suit:

table.myTable td {
  height: 20px;
  overflow: hidden;
}
1
Alp