Я использовал этот трюк позиционирования для достижения сложных результатов. Я думаю, что столкнулся с ошибкой в браузерах 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>
and 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;
}
Чтобы увидеть это в действии, откройте этот http://jsfiddle.net/JFxqt/14/ в хром.
Отображаемый диапазон абсолютно расположен внутри относительного контейнера. Поскольку в таблице используется фиксированный макет, все ее ячейки имеют фиксированную ширину, поэтому ребенок должен иметь возможность использовать ширину в процентах. В таблице 7 столбцов, а ширина диапазона установлена на 600% (т.е. 6 столбцов * 100%). Он не может охватить все 6 столбцов в браузерах webkit. Firefox и IE полностью отображают все указанные столбцы.
В идеале установка ширины диапазона на 100% должна отображать 1 столбец, 200% — 2 столбца и так далее.
У кого-нибудь есть идеи или обходные пути?
.cols-1
,.cols-2
....cols-10
и так далее? - person Marc Audet   schedule 22.04.2013