#css #twitter-bootstrap-3 #grid-layout
#css #twitter-bootstrap-3 #сетка-макет
Вопрос:
Я пытаюсь использовать сеточную систему bootstrap 3, чтобы одна часть левой боковой панели отображалась сверху, а другая внизу на мобильном устройстве. Правая боковая панель вызывает у меня проблемы.
«Левый столбец снизу» вытесняется «Правым столбцом». Когда «Правый столбец» выше, «Левый столбец снизу» выталкивается со страницы при использовании col-md-pull-9
. Я понимаю, что использование более 12 столбцов приведет к снижению производительности. Есть ли способ избежать этого?
http://www.bootply.com/t79A9Q20SW
<div class="row">
<aside class="col-md-3 col-sm-12 side" role="complementary">
<div style="height:40px;background-color:red;"><p>(Red) Left col top (top mobile)</p></div>
</aside>
<section class="col-md-6 col-sm-12">
<div style="height:180px;background-color:green;"><p>(Green) Main content</p></div>
</section>
<aside class="col-md-3 col-sm-12 side" role="complementary">
<div style="height:140px;background-color:silver;">(Grey) Right col (bottom mobile)<br>This pushes the "Left col bottom" down/away</div>
</aside>
<aside class="col-md-3 col-sm-12 side col-md-pull-9" role="complementary">
<div style="height:100px;background-color:yellow;">(Yellow) Left col bottom (bottom mobile)(.col-md-pull-9 woks partially when Right col is not high)</div>
</aside>
</div>
<div class="row" style="background-color:grey;"><p align="center">Bottom line</p></div>
(Без правой боковой панели все намного прощеhttp://www.bootply.com/NlsKWaUFq4 )
Дублирование материала и использование классов видимости начальной загрузки, вероятно, решат эту проблему. Но это не очень элегантно.
Ответ №1:
Просто попробуйте изолировать разделы, такие как ((первый слева в сторону содержимое второй слева в сторону) правый в сторону)
<div class="row">
<div class="col-md-9">
<div class="row">
<aside class="col-md-4 col-sm-12 side" role="complementary">
<div style="height:40px;background-color:red;"><p>(Red) First left aside block</p></div>
</aside>
<section class="col-md-8 col-sm-12 main-content">
<div style="height:180px;background-color:green;"><p>(Green) Main content</p></div>
</section>
<aside class="col-md-4 col-sm-12 side side-2" role="complementary">
<div style="height:100px;background-color:yellow;">(Yellow) Second left aside block</div>
</aside>
</div>
</div>
<aside class="col-md-3 col-sm-12 side" role="complementary">
<div style="height:140px;background-color:silver;">(Grey) Right aside</div>
</aside>
</div>
<div class="row" style="background-color:grey;"><p align="center">Bottom line</p></div>
и css
@media (min-width:992px){
.main-content{float:right!important;}
.side-2{float:left!important;}
}
Обновление: http://www.bootply.com/Ho1wjgKCGx
Комментарии:
1. Спасибо! Я добавил clear:left; to .side-2 на случай, если значение «Первый слева в сторону» выше, чем «Основное содержимое» bootply.com/RxKh31aH6n
2. Добавление дополнительного «Справа в сторону (верхний мобильный)» может быть выполнено следующим образом: bootply.com/1EcufJM6O4