Я смотрел на фреймворк Skeleton (getskeleton.com), но мне нужна была плавная система сетки. Меня также интересует внутренняя работа этих сеток, поэтому я решил создать свою собственную.
Однако у меня проблемы с процентами two.columns
. Все другие ширины столбцов работают нормально. Во-первых, вот что происходит:
Со вторым рядом явно что-то не так, и я действительно не могу понять, что это такое.
Мой код для этого макета выглядит следующим образом:
$max-width: 600px;
.container {
@include container($max-width);
.column, .columns {
@include columns($max-width);
}
.one.column, .one.columns { width: perc(30px, $max-width); }
.two.columns { width: perc(80px, $max-width); }
.three.columns { width: perc(130px, $max-width); }
.four.columns { width: perc(180px, $max-width); }
.five.columns { width: perc(230px, $max-width); }
.six.columns { width: perc(280px, $max-width); }
.seven.columns { width: perc(330px, $max-width); }
.eight.columns { width: perc(380px, $max-width); }
.nine.columns { width: perc(430px, $max-width); }
.ten.columns { width: perc(480px, $max-width); }
.eleven.columns { width: perc(530px, $max-width); }
.twelve.columns { width: perc(580px, $max-width); }
Вот миксины/функции, которые я использовал, не уверен, что это важно:
@function perc($width, $container-width) {
@return percentage($width / $container-width);
}
@mixin container($width) {
position: relative;
width: $width;
margin: 0 auto;
padding: 0;
}
@mixin columns($max-width) {
float: left;
display: inline;
margin: 0 10px;
}
Код в файле HTML просто:
<% 6.times do %>
<div class="two columns box"></div>
<% end %>
Я подумал, что если что-то не так с вычислением процентов, все строки так или иначе перепутаются. Тем не менее, это всего лишь второй .. Если кто-нибудь видит, что здесь происходит, пожалуйста, просветите меня?
Я помещаю обработанный CSS в pastebin: http://pastebin.com/bxq1a5Ge
Заранее спасибо.