2016-05-22 2 views
0

Ich kann nicht herausfinden, wie diese Tabellenhöhe innerhalb der enthaltenen Div enthalten. Mein Ziel ist es, scrollen zu können, um alles zu sehen. Es gibt viele Lösungen, um dies zu lösen, wenn es um die Breite geht, aber ich war nicht in der Lage, sie mit der Höhe arbeiten zu lassen.Wie behalten Sie eine Tabellenhöhe in einem übergeordneten div

<html> 

<head> 
    <style> 
     .container { 
      border: 1px solid black; 
      height: 100px; 
     } 

     td { 
      font-size: 40px; 
     } 

     table { 
      table-layout: fixed; 
      height: 100%; 
      overflow-y: scroll; 
     } 
    </style> 
</head> 

<body> 
    <div class="container"> 
     <table> 
      <thead> 
       <tr> 
        <th> 
         header 
        </th> 
        <th> 
         header 
        </th> 
       </tr> 
      </thead> 
      <tbody> 
       <tr> 
        <td> 
         data 
        </td> 
        <td> 
         data 
        </td> 
       </tr> 
       <tr> 
        <td> 
         data 
        </td> 
        <td> 
         data 
        </td> 
       </tr> 
       <tr> 
        <td> 
         data 
        </td> 
        <td> 
         data 
        </td> 
       </tr> 
      </tbody> 
     </table> 
    </div> 
</body> 

</html> 

https://jsfiddle.net/meeow314159/3vs9bmsf/

Antwort

2

 .container { 
 
      border: 1px solid black; 
 
      height: 100px; 
 
      overflow-y: scroll; 
 
     } 
 

 
     td { 
 
      font-size: 40px; 
 
     } 
 

 
     table { 
 
      table-layout: fixed; 
 
      height: 100%; 
 
     }
<div class="container"> 
 
    <table> 
 
    <thead> 
 
     <tr> 
 
     <th> 
 
      header 
 
     </th> 
 
     <th> 
 
      header 
 
     </th> 
 
     </tr> 
 
    </thead> 
 
    <tbody> 
 
     <tr> 
 
     <td> 
 
      data 
 
     </td> 
 
     <td> 
 
      data 
 
     </td> 
 
     </tr> 
 
     <tr> 
 
     <td> 
 
      data 
 
     </td> 
 
     <td> 
 
      data 
 
     </td> 
 
     </tr> 
 
     <tr> 
 
     <td> 
 
      data 
 
     </td> 
 
     <td> 
 
      data 
 
     </td> 
 
     </tr> 
 
    </tbody> 
 
    </table> 
 
</div>

Sie waren fast da. Der Überlauf-y muss auf den übergeordneten Container mit der festgelegten Höhe angewendet werden, nicht auf die Tabelle selbst. Hoffe das hilft.

1
.container { overflow-y:scroll; } 
0

Anzeige hinzufügen: Block; zu Tisch

 table { 
     table-layout: fixed; 
      height: 100%; 
     overflow-y: scroll; 
     display:block; 
    } 
0

sollten Sie here für ein paar gute Tipps über Überlauf suchen.
und vielleicht word-wrap und white-space betrachten, wenn Sie den Text in y-ax steuern wollen.