Classes imbriquées dans SASS

J'ai le code suivant:

        li {
            a {
                /* style removed for brevity */
                &:hover {   
                    color:#4f9269;
                    @include background-image(linear-gradient(top, #fff, #f0f6f2));
                }
            }
            &.active a {
                color:#4f9269;
                @include background-image(linear-gradient(top, #fff, #f0f6f2));
            }
        }

Lorsqu'un élément de menu est actif, la classe active est appliquée à la li, donc j'ai dû appliquer le CSS comme ceci.

J'ai aussi consiedered l'écriture d'un mixin:

@mixin activestate() {
    color:#4f9269;
    @include background-image(linear-gradient(top, #fff, #f0f6f2));
}

Et puis faire ceci:

        li {
            a {
                /* style removed for brevity */
                &:hover {   
                    activestate();
                }
            }
            &.active a {
                activestate();
            }
        }

Normalement avec CSS je voudrais écrire quelque chose comme ceci

li a:hover, li.active a {
    /* active styles here */
}

Je me demandais si il y avait un moyen avec SASS pour atteindre le même résultat?

  • vous voulez dire que vous voulez faire avec SASS, ce que vous faites avec SCSS, droit ?
InformationsquelleAutor Ian Jamieson | 2012-05-28