В этом примере можно установить autobit <span class="orange">ORANGE</span>
чтобы установить наибольшую высоту строки? И с двумя или более <span>
будет возможно разделить ячейку, чтобы отрегулировать высоту?
(Теперь используйте: display: table, table-row, table-cell, но также можете использовать классическую таблицу)
<html>
<head>
<style>
.table {
display: table;
background: #eee;
}
.row {
display: table-row;
}
.cell {
display: table-cell;
border: 1px solid #000;
}
.cell span {
display: block;
}
.cell span.red {
background: red;
}
.cell span.yellow {
background: yellow;
}
.cell span.green {
background: green;
}
.cell span.orange {
background: orange;
}
.cell span.grey {
background: grey;
}
</style>
</head>
<body>
<div class="table">
<div class="row">
<div class="cell">Header</div>
<div class="cell">Header</div>
<div class="cell">Header</div>
<div class="cell">Header</div>
</div>
<div class="row">
<div class="cell">Row 1</div>
<div class="cell">Row 1</div>
<div class="cell">Row 1</div>
<div class="cell">Row 1</div>
</div>
<div class="row">
<div class="cell">
<span class="red">RED</span>
<span class="yellow">YELLOW</span>
<span class="green">GREEN</span>
<span class="orange">ORANGE</span>
<span class="grey">GREY</span>
</div>
<div class="cell">Row 2</div>
<div class="cell">Row 2</div>
<div class="cell">
<span class="orange">ORANGE</span>
</div>
</div>
<div class="row">
<div class="cell">
<span class="red">RED</span>
<span class="yellow">YELLOW</span>
<span class="green">GREEN</span>
<span class="orange">ORANGE</span>
<span class="grey">GREY</span>
</div>
<div class="cell">Row 2</div>
<div class="cell">Row 2</div>
<div class="cell">
<span class="green">GREEN</span>
<span class="orange">ORANGE</span>
</div>
</div>
</div>
</body>
</html>
Попробуйте следующее: http://jsfiddle.net/EjqL8/4/
$(document).ready(function(){
$(".row .cell:last-child").has("span").each(function(){
var counter = $(this).find("span").length;
var height = $(this).height() / counter;
$(this).find("span").css('height', height+'px');
});
});
Используя jQuery, вы можете это сделать. Вам просто нужно использовать:
$('.toExpand').each(function(){
var parentHeight = $(this).parent().height();
$(this).height(parentHeight);
});
чтобы расширить его до полной высоты родителя. Затем разделите переменную parentHeight
чтобы настроить ее.
$(".row .cell:last-child").has("span").each(function(){
var counter = 0;
$(this).find("span").each(function(){
counter += 1;
});
var height = 100 / counter;
$(this).find("span").css('height', height+'%');
});
Но вы должны установить высоты для своих клеток по крайней мере. Таким образом, jQuery будет вычислять высоту для ваших интервалов. Мы также можем рассчитать высоту ваших вызовов и настроить их для выполнения этой работы.
Я создал FIDDLE, используя тег таблицы.
Вы можете просто использовать rowspan=n
или colspan=n
(n = количество столбцов), чтобы объединить столбцы.
Ну, я не хочу казаться грубым, но ты в основном заново изобретаешь колесо здесь.
Вы захотите попытаться использовать процент высоты div. Однако это не сработает, пока вы не определите высоту родителя. Вы могли бы просто закончить масштабирование до одной начальной высоты, но это просто кажется ужасным способом.
.cell:last-child
на.cell
...?