複雑な結果を得るために、このポジショニング トリックを少し使用しました。理解に苦しむ Webkit ブラウザのバグに遭遇したと思います。
簡単なマークアップは次のとおりです。
<table>
<tbody>
<tr>
<td>
<div>
<span class="cols-6"></span>
</div></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
およびCSS:
*, *:after, *:before {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
table {
table-layout: fixed;
border-collapse: collapse;
width: 100%;
}
tr {
border: 1px solid #ddd;
}
td {
vertical-align: top;
padding: 0;
height: 100px;
border: solid #ddd;
border-width: 1px 0 0 0;
box-shadow: -1px 0px #ddd;
}
td div {
position: relative;
}
td div span.cols-6 {
position: absolute;
width: 600%;
height: 20px;
background: #ccc;
}
これを実際に確認するには、 Chrome でhttp://jsfiddle.net/JFxqt/14/を開いてください。
表示されるスパンは、相対コンテナー内に絶対配置されます。テーブルは固定レイアウトを使用するため、そのセルはすべて固定幅であるため、子はパーセンテージ幅を利用できるはずです。テーブルには 7 列あり、スパンの幅は 600% (つまり、6 列 * 100%) に設定されています。Webkit ブラウザーの 6 列すべてをカバーすることはできません。Firefox と IE は、指定されたすべての列を完全にレンダリングします。
理想的には、スパンの幅を 100% に設定すると、1 列でレンダリングされ、2 列で 200% というようにレンダリングされます。
誰にもアイデアや回避策がありますか?