2016-06-19 2 views
1

Я работаю на веб-сайте со следующей планировкой: http://i.imgur.com/EyhNL4s.pngGo-to way для боковой панели + две колонки с разной высотой?

Info;

  • Красная отмеченная (фиксированная) боковая штанга, которая должна свернуть/свернуть на мобильный телефон.
  • Остальные блоки - это только divs с переменной высотой.

Теперь я был/интересно, какой лучший подход должен был бы создать это. Я попробовал несколько, начиная с размещения содержимого (переменные высоты divs) как в обертке, которому давали поплавок: слева (пытается) использовать jQuery Masonry. Оба способа до сих пор неуместны. По какой-то причине мои divs не будут течь рядом друг с другом.

Это высоты разделов, которые я использую, исходя из моего дизайна;

#green { 
    height: 312px; 
} 

#blue { 
    height: 752px; 
} 

#orange { 
    height: 876px; 
} 

#purple { 
    height: 618px; 
} 

#yellow { 
    height: 876px; 
} 

Может ли кто-нибудь отправить меня в правильном направлении?

Редактировать; я забыл упомянуть, что когда я делаю экран меньше, блоки контента должны быть расположены друг под другом. (И боковая панель должна разрушаться, но позже я займусь этой «проблемой».)

ответ

0

Вы можете попробовать создать 2 родительских элемента. Что-то вроде .sidebar и .content. Затем вы можете поплавать с ними, используя float: left.

Вы HTML будет выглядеть примерно так:

<div class="sidebar"> 
    <div id="red"></div> 
</div> 
<div class="content"> 
    <div id="green"></div> 
    <div id="orange"></div> 
    <div id="purple"></div> 
</div> 
<div class="sidebar"> 
    <div id="blue"></div> 
    <div id="yellow"></div> 
</div> 

Ваш CSS будет выглядеть следующим образом:

.sidebar, 
.content { 
    float: right; 
} 

Иное решение может быть использовать Flexbox. Чтобы сделать это, вы должны создать другой родительский элемент вокруг боковой панели и содержимого. CSS для этого будет выглядеть (больше не нужен предыдущий CSS):

.parent { 
    display: flex; 
    flex-direction: column; 
} 

.sidebar, 
.content { 
    width: 33%; // Or however wide you need these 
} 

Надеюсь, что это поможет!

+0

Mhm. Боковая панель слева - это фактически моя панель меню, которая довольно фиксирована. (Только при реагировании он должен рухнуть, но это не моя текущая проблема, ха-ха.) - Поэтому я попытался сделать ваше решение здесь; https://jsfiddle.net/ejncny9z/4/ Но, как вы можете видеть, все находится ниже друг друга, а не рядом друг с другом. Что я здесь делаю неправильно? (Конечно, я мог бы дать родительскому маржу слева от 250px, но затем содержимое ниже друг друга.) –

+0

Я обновил скрипку для вас, надеюсь, это поможет! https://jsfiddle.net/ejncny9z/8/ Как я понимаю, вы хотите, чтобы меню было зафиксировано над ним? Вы можете создать другой div вне родителя и зафиксировать его выше текущего, используя его в качестве заполнителя. –