Для чего бы то ни было, есть вероятность, что вы можете использовать границы, чтобы один <div>
представлял три или более областей.Хотя было бы неудобно обеспечивать кросс-браузерную совместимость (учитывая различия между Trident, Gecko, Webkit и Presto).
Если есть причина, по которой ячейки, по сути, являются табличными в своей презентации, вы можете использоватьТаблица.Это немного упростит вещи, хотя может быть несемантическим в зависимости от вашего варианта использования.
Кроме того, лично я бы протестировал создание этого с доступными вам опциями для таблиц, div,списки (вероятно, ul
, но это, конечно, зависит от вашего варианта использования) ... а затем просто перейдите к тому, что вы считаете самым быстрым.
Я бы рекомендовал использовать CSS-спрайты для фона/ раскраска каждой ячейки, если она будет иметь предсказуемую ширину по высоте, просто для сохранения некоторой полосы пропускания В ответ на вопрос в комментариях:
Чтобы один div
генерировал цвет для трех областей, предполагая фиксированную высоту / ширину каждого div
в 100 пикселей.
div#3areas
{width: 100px;
height: 100px;
background-color: #f00; /* for the vertically-centred area */
border-top: 100px solid #00f;
border-bottom: 100px solid #0f0;
}
Должно сгенерировать что-то вроде:
+------------------------+
| |
| border-top |
| (#00f |
+------------------------+
| |
| central content |
| area (#f00) |
+------------------------+
| |
| border-bottom |
| (#0f0) |
+------------------------+
Но, вероятно, этого не произойдет, из-за различных способов обработки границ браузерами, см .: http://www.cssplay.co.uk/boxes/borders.html (хотя это довольно устарело, поскольку написано, что IE6, Mozilla 1.5 и Netscape 7 были признаны достойными комментариев).