Задать вопрос
kn1ght_t
@kn1ght_t

Как сверстать таблицу дивами?

Проблема возникает на этапе, когда нужно чтобы высота ячейки в каждой строке равнялась максимальной высоте ячейке в этой строке
получается вот так jsfiddle.net

пробовал парсить высоту через jquery, получилось уже ближе к правде jsfiddle.net/mov8aukj

но все равно немного не то, т.к. высота для всех строчек выбирается исходя из максимального значения высоты строки => получается, что строчки, где мало текста все равно неразумно большие по высоте

может быть, есть какое-то изящное решение без использования js/jquery? или как мне правильно переписать скрипт?

p.s. только не спрашивайте, зачем мне верстать таблицу дивами)
  • Вопрос задан
  • 8855 просмотров
Подписаться 1 Оценить 12 комментариев
Решения вопроса 1
tennalian
@tennalian
вот тут пример такой таблицы css-tricks.com/css
думаю, ты забыл table-row
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
Не надо верстать таблицу дивами. Таблицы верстаются таблицами.

Максимально приближенный вариант получится, если использовать табличные значения свойства display. И в итоге разметка будет только более громоздкой, ибо вместо соответствующего тега придется использовать див с соответствующим классом. И троллейбус из буханки на фоне этого будет выглядеть куда более полезным изобретением.

Можно накидать и на JS, но все равно выйдет ад и содомия.
Ответ написан
Комментировать
FFxSquall
@FFxSquall
Могу писать код, могу не писать
У вас же глядя на ваш пример получается много таблиц по одной ячейки. Если верно использовать display: table|table-cell и т.д. то всё будет работать так как вы говорите. Либо вы не совсем ясно описали проблему
Ответ написан
Комментировать
@fisherok
<div class="divTable">
<div class="divTableBody">
<div class="divTableRow">
<div class="divTableCell">&nbsp;</div>
<div class="divTableCell">&nbsp;</div>
<div class="divTableCell">&nbsp;</div>
<div class="divTableCell">&nbsp;</div>
<div class="divTableCell">&nbsp;</div>
</div>
<div class="divTableRow">
<div class="divTableCell">&nbsp;</div>
<div class="divTableCell">&nbsp;</div>
<div class="divTableCell">&nbsp;</div>
<div class="divTableCell">&nbsp;</div>
<div class="divTableCell">&nbsp;</div>
</div>
</div>
</div>


.divTable{
	display: table;
	width: 100%;
}
.divTableRow {
	display: table-row;
}
.divTableHeading {
	background-color: #EEE;
	display: table-header-group;
}
.divTableCell, .divTableHead {
	border: 1px solid #999999;
	display: table-cell;
	padding: 3px 10px;
}
.divTableHeading {
	background-color: #EEE;
	display: table-header-group;
	font-weight: bold;
}
.divTableFoot {
	background-color: #EEE;
	display: table-footer-group;
	font-weight: bold;
}
.divTableBody {
	display: table-row-group;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы