#html #css
#HTML #css — файл #css
Вопрос:
<div class="img-blocks">
<div class="img-blocks-header"></div>
<div class="img-blocks-images"></div>
</div>
CSS — файл
.img-blocks{
width:984px ;
height:265px;
margin: 0 auto;
background: white;
border-radius:7px ;
margin-bottom: 15px;
}
.img-blocks-header{
width:100% ;
height: 33px;
background: #c8c2c2;
border-radius:7px 7px 0px 0px;
text-align: center;
color: white;
}
.img-blocks-images{
width:100%;
height:100%;
padding:10px 0px 10px 0px;
border:1px dotted black;
}
Я хочу, чтобы div
с классом .img-blocks-images
использовалось 100%
доступной высоты, т. Е. После вычета высоты .img-block-header
из родительского.
Не хочу использовать 100%
высоту его родительского div .img-blocks
.
Комментарии:
1. если ваш рост фиксирован, почему бы не использовать
height: (265-33)px
?2.
height: calc(100% - 33px);
3. @abhitalks к сожалению, сейчас для этого недостаточно поддержки
4. Если ваша обертка DIV
.img-blocks
почему бы вам не установить, чтобы она имела процентную высоту и ширину, и оттуда вы можете установить процентную высоту и ширину для внутренних разделов, и они получат этот процент из этой обертки?5. @vlrprbttst если мы исключим
IE<9
иSafari<5.1
это хорошо поддерживается (с использованием префиксов поставщика)
Ответ №1:
Вы можете добавить height:100%
к .img-blocks-images
тому, что у вас уже есть. Но это приведет к переполнению родительского div. Так что добавьте overflow:hidden
в родительский div.
Это будет работать, даже если высоты изменяются динамически
Вот скрипка
Ответ №2:
Если .img-blocks-header
имеет фиксированную высоту, вы можете расположить ее по абсолютной величине и дать .img-blocks-images
верхнее заполнение 33 пикселей (высота заголовка) плюс предполагаемое заполнение (10 пикселей) -> 43 пикселей. Таким образом, .img-blocks-images
высота 100% всегда будет соответствовать родительскому.
Демонстрационная скрипка: