Я пытаюсь сделать свой собственный отзывчивый макет, используя проценты. Мне удалось вычислить столбцы, которые я хотел использовать, но я не могу понять, как помещать как маржу (желоба) между столбцами. Если вы проверите код кодекса, между содержимым не будет интервала.
.container{
width: 90%;
max-width: 1140px;
margin: 0 auto;
/*background: #333;*/
}
.container .columns{
float: left;
background: #ccc;
margin: 0 0 1em ;
padding-right: 1em;
padding-left: 1em;
border-left-width:12px;
}
.row{
float: left;
clear: both;
width: 100%;
}
.container .columns.col-1 { width: 8.33333333333%; }
.container .columns.col-2 { width: 16.6666666667%; }
.container .columns.col-3 { width: 25%; }
.container .columns.col-4 { width: 33.3333333333%; }
.container .columns.col-5 { width: 41.6666666667%; }
.container .columns.col-6 { width: 50%; }
.container .columns.col-7 { width: 58.3333333333%; }
.container .columns.col-8 { width: 66.6666666667%; }
.container .columns.col-9 { width: 75%; }
.container .columns.col-10{ width: 83.3333333333%; }
.container .columns.col-11{ width: 91.6666666667%; }
.container .columns.col-12{ width: 100%; }
Я лично уклоняюсь от Calc, поскольку он все еще не полностью поддерживается, но до вас - http://caniuse.com/#feat=calc
Я бы рекомендовал обернуть весь ваш контент в другой набор элементов таким образом, чтобы вы могли использовать отступы для интервала и поля для выравнивания. Проверьте демоверсию.
<div class="columns col-6"><div>6</div></div>
Вместо того, чтобы давать отступы, дайте разницу
.container .columns{
float: left;
background: #ccc;
margin: 0 0 1em ;
margin-right: 1em;
margin-left: 1em;
border-left-width:12px;
}
Используйте метод calc()
для вычисления поля по ширине. Например, для .col-3
CSS будет
.container .columns.col-3 {
width: calc(25% - 5px);
margin-right:5px;
}
убедитесь, что вы используете calc() в правильном порядке, как это
calc([first value][space][operator][space][second value])
Если вы видите ширину столбцов, вы равномерно разделили 100% ширины окна просмотра.
Например:
.container .columns.col-6 {
width: 50%;
}
Таким образом, в этом случае у вас не будет места между двумя блоками.
Поэтому, указывая ширину столбцов, вам также нужно учитывать маржу.
поэтому вы можете использовать один из следующих двух подходов:
.container .columns.col-6 {
width: calc(50% - 10px); // 10px represents the margin / space
margin-right:10px;
}
или
.container .columns.col-6 {
width: 46%;
margin-right: 1%;
}
Первый подход лучше.