2015-03-25 3 views
0

Я пытаюсь создать гибкий макет. В стороне у меня есть 8 блоков, как показано ниже:CSS: как рассчитать маржу внутри div для жидкого макета

<aside id="sub-content"> 

<div class="sub-box"> 
<article class="sub-art"> 
<h2>Mid Sidebar</h2> 
<p> 
text... 
</p> 
</article> 
</div> 
</aside> 

... и так далее

Класс "суб-арт" был отформатирован следующим образом:

#sub-content .sub-art{ 
background:#ffffff; 
margin: 0px; 
padding: 10px 15px; 
margin-left: 10px; 
margin-bottom: 10px; 
overflow:hidden; 
border: 1px solid #ccc; 
border-top-left-radius: 8px; 
border-bottom-right-radius: 8px;  
} 

As вы можете увидеть в example первая статья class = "sub-art" должна быть выровнена с div под названием Второе сообщение.

Как я могу исправить правую границу, чтобы получить 8 блоков, хорошо сложенных?

+0

Вам нужно будет уточнить, чего вы пытаетесь достичь. Совсем смущает. Какие 8 блоков? Я видел 12, и у вас нет div с id = "sub-art" в jsfiddle. –

ответ

0

Это один из способов сделать это:

#sub-content { 
    width: auto; 
    float: left; 
    margin-top: 10px; 
    margin-left: -10px; 
    margin-right: -10px; 
} 

#sub-content .sub-box { 
    width: 25%; 
    box-sizing: border-box; 
    float: left; 
    padding-left: 10px; 
    padding-right: 10px; 
} 

#sub-content .sub-art { 
    background: #ffffff; 
    margin: 0px; 
    padding: 10px 15px; 
    margin-bottom: 10px; 
    overflow: hidden; 
    border: 1px solid #ccc; 
    border-top-left-radius: 8px; 
    border-bottom-right-radius: 8px; 
} 

Я претендую отрицательный запас для #sub-content элемента и с помощью отступов, а не поля для создания желобов в .sub-box элементах. Я также удалил поля из элементов .sub-art. Также обратите внимание, что я установил размер ящика на элементах .sub-box на border-box. Это необходимо, чтобы предотвратить добавление дополнений к размеру поля.

http://jsfiddle.net/80z6vp46/6/

Этот метод в основном то же самое Bootstrap 3 делает.

0

Может быть не самое умным решением, а просто добавить

#sub-content .left-most-element { 
    margin-left: 0px; 
} 

в файл .css и новый класс в "левых большинства элементов" (1 и 5)

<article class="sub-art left-most-element"> 

Это должен сделать трюк;)

Смежные вопросы