Skeletonフレームワーク(getskeleton.com)を見ていましたが、流体グリッドシステムが必要でした。これらのグリッドの内部動作にも興味があるので、自分でロールすることにしました。
しかし、two.columns
パーセンテージに問題があります。他のすべての列幅は正常に機能します。まず、何が起こっているのか:
2行目には明らかに何か問題があり、それが何であるかを本当に理解することはできません。
このレイアウトの私のコードは次のとおりです。
$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 %>
パーセンテージの計算に問題があるとしたら、すべての行が何らかの形で混乱するだろうと思いました。しかし、それは2番目のものにすぎません。誰かがここで何が起こっているのか見たら、私に教えてください。
処理されたCSSをpastebinに置きます:http://pastebin.com/bxq1a5Ge
前もって感謝します。