Sass Mixin では、メディア クエリを使用してグリッドを明示的に変更する必要があります。私がこれにアプローチした方法は、Mobile First サイトを作成してから、グリッドを定義する Sass コードを次のように 2 つのメディア クエリに複製することです。
// Mobile Grid
@media only screen and (max-width: 768px) { ... }
// Desktop & Tablet Grid
@media #{$small} { ... }
これがどのように機能するかの明確な例は見つかりませんでした。私が収集したものから、Sass でグリッドを定義し、メディア クエリのみでそれをオーバーライドできるはずですが@media #{$small} {}
、実際には機能しませんでした。他のグリッドの前、後などにメディアクエリを実行しようとしましたが、その結果、最初にグリッドを設定したときにそのままの状態になりました。
より長い例を次に示します。の場合、#dashboard
モバイルではスタッキングして中央に配置し、デスクトップ/タブレットでは 3 列に配置します。これはclass="small-10 small-centered large-4 columns"
、プレゼンテーションクラスを使用するためのものです。
// Mobile Grid
@media only screen and (max-width: 768px) {
#dashboard { @include grid-row;
& > #stats { @include grid-column(10, false, true); }
& > #records { @include grid-column(10, false, true); }
& > #results { @include grid-column(10, false, true); }
}
}
// Desktop & Tablet Grid
@media #{$small} {
#dashboard { @include grid-row;
& > #stats { @include grid-column(4, false, false); }
& > #records { @include grid-column(4, false, false); }
& > #results { @include grid-column(4, false, false); }
}
}
注: これを拡張し、ミックスインを使用してブレークポイントを増やすこともできますが、これはデフォルトの Zurb F4 プレゼンテーション クラスの動作をシミュレートしているようです。