Bootstrap 3 - панель соответствия высоты кнопок (CSS3)

ИЗМЕНИТЬ Для тех из вас, кто споткнулся об этом посту, я обнаружил, что существует "новый" стандарт под названием Flexbox. Это позволяет делать то, что я хочу сделать: Flexbox demos

Я пытаюсь получить следующий эффект: enter image description here

Однако я получаю следующее: enter image description here

См. jsFiddle: http://jsfiddle.net/abehnaz/8sPn7/3/

Я пробовал height: 100% в CSS, но мне не повезло. Я думаю, что это может быть связано с тем, что либо стиль кнопки имеет приоритет над настройкой высоты, либо панель принимает динамическую высоту на основе ее содержимого (в данном случае, изображения).

Есть ли способ перекрестного браузера/чистого CSS, чтобы высота кнопки соответствовала высоте панели (с соответствующим заполнением и установкой содержимого?)

Спасибо!

HTML:

<div class="panel panel-default">
<div class="panel-body">
    <div class="media">
        <div class="media-object pull-left">
            <button class="btn btn-info option-button">A</button>
            <img src="holder.js/200x100" />
        </div>
        <div class="media-body">
            Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis 
        </div>
    </div>
</div>

CSS

.option-button {
    height:100%;
}

** EDIT: ** Чтобы получить приемлемое решение, я закончил использование кнопки в медиа-объекте. Он не полностью соответствует всей высоте, но выполняет эту работу. Это помогло применить класс .btn-lg.

Ответ 1

Чтобы браузер понял, что на самом деле представляет 100%, вы должны предоставить содержащий div, в этом случае ваш media-object div, высота или имеет все родительские divs высотой 100%.

Подумайте об этом так, браузеру нужно некоторое число, чтобы начать 100%, а когда все родительские div имеют height: 100%;, для этого числа используется окно просмотра (размер окна). Если вы когда-либо пытались сделать липкий нижний колонтитул, вы, вероятно, столкнулись с подобными проблемами.

Вот jsfiddle с указанной высотой: http://jsfiddle.net/8sPn7/5/

Вот еще один jsfiddle со всей высотой 100% (быстрый грязный способ показать вам правило 100%): http://jsfiddle.net/8sPn7/6/

Ответ 2

В зависимости от вашей конкретной цели это может не помочь, но добавление height:100px к содержащему div делает ваш height:100% работать как ожидалось. Похоже, когда div расширяется, чтобы удерживать изображение, это расширение не переносится на кнопку, как вы ожидали.

Еще одна вещь, которая фиксирует высоту, - это установка кнопки position:absolute... но эта глупость и бесполезность, если только она не является кнопкой фиксированной ширины, и вы можете добавить margin-left или что-то в нужное место содержимого вокруг него.

Ответ 3

Bootstrap 4: добавьте эти классы d-flex align-items-stretch в родительский div.