HTML 構造
次の html 構造があります:これは編集できない固定構造です
<div class="separator"></div>
<table class="myClass">
<thead>
<tr>
<th>title1</th>
<th>title2</th>
</tr>
</thead>
...
</table>
<div class="separator"></div>
CSS
最初と最後の div は、css が次のセパレーターです。
.separator {
height: 20px;
background-color: gray;
}
セパレーターは複雑なウィジェットであり、デザインだけではないことに注意してください (意図的に例を単純化しました)
問題
テーブル ヘッダーを最初のセパレータの前に配置したいのですが、テーブル ボディは 2 つのセパレータの間にある必要があります。
私が試したこと
テスト用の最初の jsfiddle は次のとおりです: http://jsfiddle.net/prhgW/1/
thead タグを絶対位置に配置し、負のトップ値を使用しようとしましたが、そうすると、thead の幅がテーブルの 100% よりも小さくなり、列の値に関して列のタイトルがずれてしまいます。フィドル: http://jsfiddle.net/prhgW/2/
また、幅を 100% に設定しようとしましたが、tr タグはそのルールに従っていません: http://jsfiddle.net/prhgW/3/
追加ルール
- テーブルまたは任意の要素の固定幅/高さを避けたい (そのため、すべてを絶対配置することは受け入れられる解決策ではありません)
- ブラウザ間の互換性が欲しい
- JavaScript の修正を避ける (純粋な CSS の方が良いでしょう)