Для этого конкретного сценария лучше всего было бы не использовать Bootstrap для тех функций, которые вам нужны. Вы можете легко добиться этого с помощью другого решения. Могу я предложить альтернативу?
Представляем дисплей: гибкий
Модуль Flexbox Layout (Flexible Box) (в настоящее время - рабочий проект W3C Last Call) направлен на обеспечение более эффективного способа компоновки, выравнивания и распределения пространства между элементами в контейнере, даже если их размер неизвестен и / или является динамическим (таким образом слово «флекс»).
Я написал ручку, демонстрирующую мое представление о том, как с этим справиться, которую вы можете увидеть здесь .
Давайте сначала посмотрим на код, новый HTML:
<div class="flex-container">
<div class="left-content content">
</div>
<div class="right-content content">
</div>
</div>
У нас есть структура, аналогичная той, с которой вы уже имеете дело, только мы немного изменили формат (я использовал имена классов, которые должны помочь проиллюстрировать, что происходит.)
А вот сопутствующий CSS:
.flex-container {
display: flex;
flex-flow: row;
}
.content {
min-height: 500px;
}
.left-content {
background-color: rgba(0,0,0,0.2);
flex: 1 1 auto;
}
.right-content {
width: 300px;
background-color: rgba(0,0,0,0.4);
}
@media (max-width: 768px) {
.flex-container {
flex-flow:column;
}
.right-content {
width: 100%;
}
}
Итак, изначально мы хотим использовать свойство flex-flow: row
, чтобы наши элементы отображались бок о бок (это означает, что контейнер по существу выстраивает своих дочерних элементов в строку). Мы устанавливаем фиксированную ширину 300px
в правом столбце, а затем используем свойство flex: 1 1 auto;
в левой части, которое более подробно выглядит так ...
Это сокращение для сочетания гибкости-роста, гибкости-усадки и гибкости. Второй и третий параметры (flex-shrink и flex-base) не являются обязательными. По умолчанию 0 1 авто.
Указанное выше свойство указывает элементу заполнить оставшееся пространство контейнера.
Сложение в зависимости от размера области просмотра
Вы можете видеть, что я использовал базовый медиа-запрос с max-width: 768px
, когда область просмотра меньше этого, мы просто складываем области содержимого, устанавливая flex-flow: column
для родительского контейнера и width: 100%
для его дочерних элементов, что указывает браузеру рассматривать контейнер как столбец и, таким образом, складывать его элементы друг на друга.
Если что-то неясно, дайте мне знать, и я улучшу свой ответ.
person
gdgr
schedule
10.11.2015
style="width:300px;"
ко второму<div>
? - person Tim Lewis   schedule 10.11.2015