Высота равна динамической ширине (гибкий макет CSS) + развернуть, чтобы не допустить переполнения

Привет - возможно ли иметь div с высотой, равной ширине жидкости, расширяться, чтобы содержать его содержимое в узком окне просмотра?

Я понял, как обойтись со сплошным цветным div: http://jsfiddle.net/2nprw0xq/

Но не с рамкой: http://jsfiddle.net/534k9e2n/

Вот код, который я использую. Спасибо, Б.

<div class="holder">
<div class="shape"></div>
<div class="shape_outer">
<div class="shape_inner"> Text... </div>
</div>
</div>

.

.holder {
    display: inline-block;
    position: relative;
    width: 50%;
}
.shape {
    margin-top: 100%;
}
.shape_outer {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    border: 1px solid #111;
}
.shape_inner {
    padding: 20px;
}

person boyce    schedule 26.09.2014    source источник


Ответы (1)


Переместите границу к вашему внутреннему элементу, а затем добавьте 100% ширины и 100% минимальной высоты, например:

.shape_inner {
    border: 1px solid #111;
    padding: 20px;
    min-height: 100%;
    width: 100%;
}

Проверьте это: http://jsfiddle.net/534k9e2n/1/

person Johan Karlsson    schedule 26.09.2014
comment
Потрясающие. Спасибо @caeth. - person boyce; 27.09.2014
comment
Есть ли способ избежать дублирования содержания ниже ..? - @caeth jsfiddle.net/534k9e2n/4 - person boyce; 29.09.2014
comment
@boyce, если вы поместите их в один контейнер, он будет работать, иначе я не знаю :) jsfiddle.net / 534k9e2n / 5 - person Johan Karlsson; 01.10.2014