Használjon Sass változót a választóhoz - CSS-trükkök

Anonim

Tegyük fel, hogy egy adott választót több helyen kell használnia a kódban. Az biztos, hogy nem rendkívül gyakori, de ilyesmi megtörténik. Az ismételt kód általában az absztrakció lehetősége. Az értékek elvonatkoztatása a Sass-ban egyszerű, de a kiválasztók kissé bonyolultabbak.

Ennek egyik módja az, hogy létrehozza a választót változóként. Íme egy példa, amely vesszővel elválasztott választók listája:

$selectors: " .module, body.alternate .module ";

Majd ennek használatához interpolálni kell a változót, így:

#($selectors) ( background: red; )

Ez működik a fészkeléssel is:

.nested ( #($selectors) ( background: red; ) )

Előtagolás

A változó szintén csak egy választó része lehet, például egy előtag.

$prefix: css-tricks-; .#($prefix)button ( padding: 0.5rem; )

Használhatja a fészkelést az előtagozáshoz is:

.#($prefix) ( &module ( padding: 1rem; ) &header ( font-size: 110%; ) &footer ( font-size: 90%; ) )

Válogatók a térképen

Talán az absztrakciója kulcs / értékpár helyzethez alkalmazkodik. Ez egy térkép Sassban.

$selectorMap: ( selectorsFoo: ".module", selectorsBar: ".moodule-2" );

Használhatja őket egyenként, például:

#(map-get($selectorMap, selectorsFoo)) ( padding: 1rem; )

Vagy hurok át rajtuk:

@each $selectorName, $actualSelector in $selectorMap ( #($actualSelector) ( padding: 1rem; ) )

Példák

Lásd Chris Coyier (@chriscoyier) Pen Sass változói a választók számára a CodePen-en.