0

susy がどのように機能するかについて、何か基本的なことが欠けているに違いないと思います。ドキュメントには、これがどのように機能するかを理解するには例が少なすぎます。

異なるブレークポイントで異なるレイアウトが必要です。そこまではできますが、トリガーされたブレークポイントに応じて、要素が異なる数の列にまたがるようにします。したがって、次のようなモバイル用の一般的なスタイルシート (「モバイル ファースト」) があるとします。

 .wrapper{
        .element1{
            @include span-columns(4);
        }

        .element2{
            @include span-columns(2 omega);
        }
}

しかし、幅が「タブレット」に変更され、8 列のレイアウトに変更されたら、これを次のように変更できるようにしたいと考えています。

     @include at-breakpoint($tablet-break $tablet-layout){
         .wrapper{
        @include set-container-width;
            .element1{
                @include span-columns(5);
            }

            .element2{
                @include span-columns(3 omega);
            }
    }
}

これはモバイル設定を「上書き」しないだけでなく、firebug を検査すると、要素が新しいタブレット列と一致しないように見えます。まだ6列のレイアウトを使用していると思います。@include set-container-width を追加しても問題は解決しないようです。ただし、モバイル レイアウトをコメント アウトすると機能します。つまり、これらの include ステートメントは上書きされないかのように見えるので、susy の仕組みを理解していないと思います。要素がレイアウトと一致しないことを示す firebug の例を次に示します。

スパンが一致しない列

(また、SUSY のベスト プラクティスもわかりません (4 つ以上の深さでネストしないことを除く)。すべての変更に対して、ネストされた @at-breakpoint ステートメントを使用してすべての sass を定義するか、デフォルトを定義することができます ( mobile) css を作成し、別の sass ブロックをすべて at-breakpoint 内にネストして作成します。これが問題を引き起こしているかどうかはわかりません。)

アップデート

元の (モバイル) 宣言の後に at-breakpoint インクルードを含めると、うまくいくようです。コードの繰り返しが必要なようですが:

        .element1{
        @include span-columns(2 omega);
        text-indent: -1em;
        text-align: center;
        @include at-breakpoint($tablet-break $tablet-layout){
            @include span-columns(3 omega);
            text-indent: 0;                
            text-align: left;                
        }
        @include at-breakpoint($desktop-break $desktop-layout){
            @include span-columns(3 omega);
            text-indent: 0;
            text-align: left;                                
        }
    }
4

0 に答える 0