Susyを使用する必要はまったくありませんが、もちろん使用できます。:)
これはかなり一般的な CSS の問題です。なぜなら、レイアウトにフロートを使用することがよくあるからです。Susy は実際には、レイアウト計算を管理するためのショートカットのセットにすぎませんが、CSS を修正することはできません。最初に CSS のレイアウトの問題を解決してから、Susy がコードの明確化と単純化に役立つ場所を判断してください。
たとえば、フロートのみを使用した CSS でのいくつかの解決策を次に示します。
// Option A
// --------
.image-link {
float: left;
width: 24%;
}
.title, .description, .purchase {
float: right;
width: 75%;
}
// Option B
// --------
.image-link {
float: left;
width: 24%;
}
.title, .description, .purchase {
margin-left: 25%;
}
// Option C
// --------
article {
padding-left: 25%;
}
.image-link {
float: left;
width: 24%;
margin-left: -25%;
}
絶対配置、追加のマークアップ、または他の多くのアプローチを使用するソリューションは他にもたくさんあります。どちらを好むかは、正確にどのように機能させたいか、マークアップをどの程度制御できるかなどによって異なります。
Susy のspan()
mixin は、float 方向 (デフォルトでは左ですが、last
キーワードを使用すると右)、幅、およびオプションである種のガターを出力します。pre()/push()/pull()
およびmixinはprefix()
、それぞれマージンまたはパディングを設定します。または、ミックスインを完全にスキップして、span()
関数を使用して、必要な場所でグリッド計算を取得することもできます。
// Option A
// --------
.image-link {
@include span(1 of 4);
}
.title, .description, .purchase {
@include span(last 3 of 4);
}
// Option B
// --------
.image-link {
float: left;
width: span(1 of 4);
}
.title, .description, .purchase {
@include pre(1 of 4);
}
// Option C
// --------
article {
@include prefix(1 of 4);
}
.image-link {
@include span(1 of 4);
@include pull(1 of 4);
}
また、Susy のisolation
機能やその他の多くのアプローチを使用することもできます。それらはすべて、数学と CSS の単純なラッパーです。Susy の抽象化によって、CSS で作業しているという事実が隠されないようにしてください。float は単なる float です。