2017-11-03 2 views
-1

私の要件として、テーブルの固定ヘッダー/フッターが必要です。 親と一緒にあふれている絶対に配置されたヘッダー/フッターが必要です。絶対に配置されていないオーバーフローを避ける<table>

FIDDLE

私は、ラッパーのdivにposition: relative;を適用することで、ヘッダ/フッタはもはや固定されていない、この答えhttps://stackoverflow.com/a/4605809/2968762

次試みたが。

別のラッパー内のコンテンツ全体をラップし、それ固定に次のスタイルを適用する:

+0

これはあなたが探しているものですか? https://jsfiddle.net/1f32ngsp/1/ –

+0

@AleksandarPavićいいえ、あなたは最大幅を削除したようです – Abhi

+0

ああ、そのラッパーに囲まれたテーブル全体が必要ですか? –

答えて

0

感謝を行う必要があり、私は解決策を見つけました問題:

.grand-wrapper { 
    position: relative; 
    overflow: hidden; 
} 

FIDDLE

0

body { 
 
    height: 50rem; 
 
} 
 
.wrapper { 
 
    margin-top: 10rem; 
 
    max-height: 6.7rem; 
 
    max-width: 12.5rem; 
 
    overflow: scroll; 
 
    table { 
 
    width: 25rem; 
 
    } 
 
} 
 

 
.header, 
 
.footer { 
 
    table { 
 
    position: absolute; 
 
    background: white; 
 
    } 
 
} 
 

 
.footer table { 
 
    bottom: 10.6rem; 
 
} 
 

 
table { 
 
    thead { 
 
    tr { 
 
     th { 
 
     width: 4rem; 
 
     text-align: center; 
 
     } 
 
    } 
 
    } 
 
    tbody { 
 
    tr { 
 
     td { 
 
     width: 4rem; 
 
     text-align: center; 
 
     } 
 
    } 
 
    } 
 
} 
 

 

 
.wrapper .header { 
 
    position: absolute; 
 
    width: 11.5rem; 
 
    overflow: hidden; 
 
    background: white; 
 
    top: 160px; 
 
}
<div class="wrapper"> 
 
    <div class="header"> 
 
    <table> 
 
     <thead> 
 
     <tr> 
 
      <th>Head 1</th> 
 
      <th>Head 2</th> 
 
      <th>Head 3</th> 
 
      <th>Head 4</th> 
 
      <th>Head 5</th> 
 
      <th>Head 6</th> 
 
     </tr> 
 
     </thead> 
 
    </table> 
 
    </div> 
 

 
    <div class="main_body"> 
 
    <table> 
 
     <thead> 
 
     <tr> 
 
      <th>Head 1</th> 
 
      <th>Head 2</th> 
 
      <th>Head 3</th> 
 
      <th>Head 4</th> 
 
      <th>Head 5</th> 
 
      <th>Head 6</th> 
 
     </tr> 
 
     </thead> 
 
     <tbody> 
 
     <tr> 
 
      <td>11</td> 
 
      <td>23</td> 
 
      <td>44</td> 
 
      <td>20</td> 
 
      <td>30</td> 
 
      <td>40</td> 
 
     </tr> 
 
     <tr> 
 
      <td>32</td> 
 
      <td>1</td> 
 
      <td>7</td> 
 
      <td>4</td> 
 
      <td>5</td> 
 
      <td>6</td> 
 
     </tr> 
 
     <tr> 
 
      <td>3</td> 
 
      <td>3</td> 
 
      <td>3</td> 
 
      <td>3</td> 
 
      <td>3</td> 
 
      <td>3</td> 
 
     </tr> 
 
     <tr> 
 
      <td>2</td> 
 
      <td>2</td> 
 
      <td>2</td> 
 
      <td>2</td> 
 
      <td>2</td> 
 
      <td>2</td> 
 
     </tr> 
 
     <tr> 
 
      <td>1</td> 
 
      <td>1</td> 
 
      <td>1</td> 
 
      <td>1</td> 
 
      <td>1</td> 
 
      <td>1</td> 
 
     </tr> 
 
     <tr> 
 
      <td>49</td> 
 
      <td>30</td> 
 
      <td>57</td> 
 
      <td>30</td> 
 
      <td>41</td> 
 
      <td>52</td> 
 
     </tr> 
 
     </tbody> 
 
    </table> 
 
    </div> 
 

 
    <div class="footer"> 
 
    <table> 
 
     <tbody> 
 
     <tr> 
 
      <td>49</td> 
 
      <td>30</td> 
 
      <td>57</td> 
 
      <td>30</td> 
 
      <td>41</td> 
 
      <td>52</td> 
 
     </tr> 
 
     </tbody> 
 
    </table> 
 
    </div> 
 
</div>

これはトリックにTHIS ARTICLE

+0

いいえ、これはあなたのために働きます。ページの一番上にテーブルを置くので、 'position:fixed'が要素を配置します。しかし、テーブルがページの先頭から始まらなければ、この修正は失敗します。 – Abhi

+0

私はmargin-top:100pxをラッパーに追加して試しましたが、それでも動作します... あなたが必要とするものと正確に一致する環境を提供していると、おそらく私の答えがより正確になります。 – Sandwell

+0

私はフィドルを体高に合わせて更新しました。 https://jsfiddle.net/1f32ngsp/4/。さて、 'position:fixed'を適用し、 – Abhi

関連する問題