кроссбраузерная верстка с "зажатой" row
Задача. Три строки, верхняя и нижняя имеют фиксированный размер, как и таблица, центральная (456) должна быть ими зажата.
Не работает в IE(растягивается). <br><br> <div style=' height:300px; width:300px; position:relative; border:1 px solid; display:table;'> <div style='display:table-row;'> <div style='width:100%; height:50px; border:1px solid; display:table-cell;'>123</div> </div> <div style='display:table-row;'> <div style='width:100%; height:100%; border:1px solid; display:table-cell;'>456</div> </div> <div style='display:table-row;'> <div style='width:100%; height:40px; border:1px solid; display:table-cell;'>789</div> </div> </div> <br><br> Так же, в центральную часть пытаемся вставить div с размером, который должен совпасть с размеров вычисленной ячейки. Не работает в ИЕ и в Опере(растягивается). <br><br> <div style=' height:300px; width:300px; position:relative; border:1 px solid; display:table;'> <div style='display:table-row;'> <div style='width:100%; height:50px; border:1px solid; display:table-cell;'>123</div> </div> <div style='display:table-row;'> <div style='width:100%; height:100%; border:1px solid; display:table-cell;'><div style='width:100%; height:100%; display:block; border:1px solid;'>inside</div></div> </div> <div style='display:table-row;'> <div style='width:100%; height:40px; border:1px solid; display:table-cell;'>789</div> </div> </div> <br><br> Убирая размеры у центральной части, растягивание исчезает, но теряем доступ к размерам в div=inside для части браузеров() <br><br> <div style=' height:300px; width:300px; position:relative; border:1 px solid; display:table;'> <div style='display:table-row;'> <div style='width:100%; height:50px; border:1px solid; display:table-cell;'>123</div> </div> <div style='display:table-row;'> <div style='border:1px solid; display:table-cell;'><div style='width:100%; height:100%; display:block; border:1px solid;'>inside</div></div> </div> <div style='display:table-row;'> <div style='width:100%; height:40px; border:1px solid; display:table-cell;'>789</div> </div> </div> <br><br> Вот как добиться, что бы было и то и то? Пробовал таблицами(same shit), через margin и padding, абсолютным позиционированием, просто блоками без display. |
такой вариант не подойдет
<style type='text/css'>
.wrap {
height:300px;
width:300px;
position:relative;
border: 1px solid;
}
.top {
height: 50px;
background: #eee;
}
.center {
position:absolute;
width: 100%;
left: 0;
top: 50px;
bottom: 40px;
background: #00f;
}
.bottom {
position: absolute;
width: 100%;
left: 0;
bottom: 0;
height: 40px;
background: #f00;
}
</style>
<div class=wrap>
<div class=top>123</div>
<div class=center>456</div>
<div class=bottom>789</div>
</div>
|
Rootpassword, в твоих примерах нет ни строк, ни таблиц, ни ячеек...
Цитата:
display:table-cell; Не все поддерживают... http://htmlbook.ru/css/display Как тут не вспомнить классику: - Есть король - ходи с короля! (с) |
Pavel M., благодарю. Код очевидный и работает, хотя я такое проверял и не вышло - наверное, в 4 утра мысли не собираются.
ksa, так не работает в ИЕ8(который уже поддерживает) и в Опере. Работает, если доктайп убрать и Опера - ИЕ сваливаются в режим старой совместимости, что уже признак того, что так не делать, ибо чревато. |
| Часовой пояс GMT +3, время: 14:22. |