2017-10-01 4 views
0

テーブル1とテーブル3の両方のテーブルトウを幅に合わせようとしていますが、現在では最後のセルはありません。 2つのテーブルの理由は、テーブル1の固定ヘッダーとテーブル2のスクロール可能なオーバーフローコンテンツです。このアプローチは過去に私のために働いていましたが、このエラーを生成するためにこの例とは何が違うのか分かりません。テーブル行の最後のセルのサイズが間違っている

Below is an image of how it appears on the page

#table_wrapper1 { 
 
    position: absolute; 
 
    top: 250px; 
 
    left: 20px; 
 
    height: 47px; 
 
    width: 500px; 
 
} 
 

 
#table1 { 
 
    table-layout: fixed; 
 
    position: absolute; 
 
    display: table; 
 
    font-size: 0.7em; 
 
    border: solid 1px; 
 
    z-index: 2; 
 
    width: 100%; 
 
    background-color: #F7F7F7; 
 
} 
 

 
#table_wrapper2 { 
 
    position: absolute; 
 
    top: 278px; 
 
    left: 20px; 
 
    width: 500px; 
 
    overflow: scroll; 
 
    height: 150px; 
 
} 
 

 
#table2 { 
 
    table-layout: fixed; 
 
    position: absolute; 
 
    display: table; 
 
    font-size: .7em; 
 
    border: solid 1px; 
 
    z-index: 2; 
 
    width: 100%; 
 
    background-color: #F7F7F7 
 
} 
 

 
td { 
 
    padding: 4px; 
 
    border: solid 1px black; 
 
    background-color: #FFF4C6; 
 
    vertical-align: middle; 
 
    text-align: center; 
 
} 
 

 
th { 
 
    padding: 6px; 
 
    Border: solid 1px black; 
 
    background-color: #BB8A76; 
 
    vertical-align: middle; 
 
    text-align: center; 
 
}
<div id="table_wrapper1"> 
 
    <table class="table" id="table1"> 
 
    <thead> 
 
     <tr> 
 
     <th>Unit code</th> 
 
     <th>Description</th> 
 
     <th>Delete unit</th> 
 
     <th>Add new unit</th> 
 
     </tr> 
 
    </thead> 
 
    <tbody></tbody> 
 

 
    </table> 
 
</div> 
 

 
<div id="table_wrapper2"> 
 
    <table class="table" id="table2"> 
 
    <thead></thead> 
 
    <tbody> 
 
     <tr> 
 
     <td><input class="unit <?php echo $class;?>" type="text" name="unit_code[]" value="<?php echo @$_POST['unit_code'][0]?>"></td> 
 
     <td><textarea cols="10" rows="3" class="<?php echo $class;?>" name="unit_description[]"><?php echo @$_POST['unit_description'][0]?></textarea></td> 
 
     <td><img title="remove unit" class="remove_row" src="../images/exit.png"> </td> 
 
     <td><img title="add more units" class="add_row" src="../images/add-resource.png"></td> 
 
     </tr> 
 
    </tbody> 
 
    </table> 
 
</div>

+0

これを以前にどのように動作させましたか?問題は、スクロールバー 'overflow:scroll;は右にスクロールバーを追加していることです。これは明らかにテーブルのカラムのサイズを変更します – FluffyKitten

+0

スクロールするときに「固定ヘッダ」を取得するには2つのテーブルが必要ですか? – levi

答えて

0

問題がoverflow: scroll;かもしれないように見えます。これを削除することは私の目的のために機能するようです。

編集:残念ながら、スクロールバーが自然にスペースを占めるため、overflow: scrollでこの問題に取り組み続けます。テーブルボディラッパーに負の右パディングを適用しようとすると、ブラウザの互換性の問題が発生します。おそらく、上限のラッパーにoverflow: scrollを適用してみることもできますか?それでもかわいいですが、やはりうまくいくかもしれません。

+0

しかし、これを削除すると機能が損なわれます.2つ目のテーブルの目的は、2つ目のテーブルをスクロールできるようにすることでした。 – FluffyKitten

+0

残念ながら、スクロールバーが自然にスペースを占めているため、「オーバーフロー:スクロール」を使用してこの問題に取り掛かります。テーブルボディラッパーに負の右パディングを適用しようとすると、ブラウザの互換性の問題が発生します。 おそらく、上のラッパーに 'overflow:scroll'を適用することもできますか?それでもかわいいですが、やはりうまくいくかもしれません。 –

+0

私の質問ではありません(誰にも言及する前に投稿者/コメント作成者の名前を確認してください)、私はあなたの答えがOPの問題を解決しない理由を指摘していました。彼らはそれが前に働いていたと主張しているので、私は彼らの答えを待っているので、前にそれをやっていた方法を見てください。 – FluffyKitten

関連する問題