Díszítésnek a Sass: Egy SCSS Bemutató

Stíluslap fejlesztés Sass, még akkor is, amikor használja a legtöbb alapvető funkciók, mint fészkelő tulajdonságok vagy változók, értékes időt takarít meg, valamint megkönnyíti a front-end fejlesztő. Nem meglepő, hogy a CSS előprocesszorokat széles körben elfogadták, mint a webhelyek és alkalmazások stílusainak de facto létrehozásának módját;egyszerűen nem tudunk élni nélkülük.,

Amikor a díszítésnek; ez, változik a megjelenés a honlapon, miközben a szöveg elrendezését, Sass’ funkciók—mint mixins vagy funkciók—érzem magam, mint repülővel séta helyett! Ebben az SCSS bemutató, fogunk létrehozni egy minimális témát, majd használja SCSS, hogy a CSS programozás néhány szuperhatalmak.

A Basic Mixin Approach

tegyük fel, hogy a következő elrendezéssel rendelkezünk:

Több téma létrehozására kértük., A témának meg kell változtatnia az összes konténer színét (beleértve a fő tartályt is) és a gombot, és a témát a test egy osztálya határozza meg, vagy lehet egy “külső” tartály is:

<body class="theme-1">

építsünk egy “themable” nevű mixint, amely paraméterként tartalmazza a színsémánkat.,

ezután használja a témák generálásához:

@include themable(theme-1, #f7eb80, #497265, #82aa91, #fff, #bc6a49);@include themable(theme-2, #e4ada7, #d88880, #cc6359, #fff, #481b16);

Ezen a ponton már sok időt mentettünk, de vannak problémák ezzel a megközelítéssel:

témák általában sok különböző tulajdonságokkal mellett színek. Például, ha módosítani akarjuk a Bootstrap témát, az előző “recept” után egy mixin írása nehéz lenne fenntartani, a kódot pedig nehéz olvasni. Ráadásul nem igazán követjük a Sass legjobb gyakorlatait—például a hex színkódok beírása közvetlenül a mixinbe.,

Tervezési Stílusok Rendszer Sass Térképek

a segítségével térképek, amelyek főként, mint kulcs indexelt tömbök tudjuk építeni több szemantikai, értelmes beállított stílusok a téma, ami lesz könnyebb fenntartani megérteni kollégánk a fejlesztők. Használhatnánk listákat is, de személy szerint a térképeket alkalmasabbnak találom erre a célra. A listáknak nincs kulcsuk, míg a kulcsok önmagukban magyarázhatók.,

A térkép az új megközelítés egy beágyazott térkép:

Ha akarta, hogy a hozzáférést minden szakaszban, a rendszer theme-1 meg az al-térképet, használjuk a @each irányelv ismétlésére őket:

@each $section, $map in $theme-1

$section vissza fog térni a gombot az aktuális szakasz, valamint $map vissza fog térni a beágyazott térkép, amely megfelel az a kulcs.,

Akkor tudjuk elérni, hogy a tulajdonságok minden térkép, mondjuk, a háttérben (bg) tulajdonság segítségével a map-get beosztása:

map-get($map, bg)

Végre, amely egyesíti az új keverednek alapján a térkép szerkezete, tudjuk létre, mint sok témák, mint mi:

Megjegyezzük, hogy mi is használjuk a @if irányelv különbséget tenni tulajdonságait szakaszok, amelyek nem a gombokat.,

 @if ($section != button) { height: map-get($map, height); width: map-get($map, width); }

így egyes szakaszokhoz különböző tulajdonságokat adhatunk konkrét Tulajdonságok vagy akár szabályok létrehozásához, vagy megkülönböztethetünk egy kulcsot egyetlen értékkel a másiktól egy beágyazott térképpel.

témánk számos olyan térképből is állhat, amelyeket több Mixin használt, stíluslapunk különböző részein alkalmazva. Minden attól függ, hogy a komplexitás a bázis elrendezés, természetesen a személyes megközelítés.,

további optimalizálás

a Sass hasznos beépített funkciókat kínál, hogy még több munkát takarítson meg nekünk; például a HSL olyan funkciók, mint a lighten vagy darken például egy gomb színének kiszámításához, amikor lebeg rajta.

módosíthatjuk a gombkódot, hogy megvilágítsuk annak hátterét, amikor lebeg, függetlenül az eredeti háttérszíntől. Így nem kell újabb színt hozzáadnunk ehhez az állapothoz.,

@if ($section != button) { height: map-get($map, height); width: map-get($map, width);} @else { &:hover { background-color: lighten(map-get($map, bg), 20%); }}

továbbá a Sass modulok használatával kódunk még olvashatóbb és skálázható; minden tématérkép egy modulban található, majd importálható a fő stíluslapunkba.

@import 'theme-1';@import 'theme-2';@import 'theme-3';… … @mixin themable($theme-name, $theme-map) { .#{$theme-name} { .container {… … 

ehhez a modulokat a következő módon kell elhelyezni a projektben:

/├── _theme-1.scss├── _theme-2.scss└── _theme-2.scss

Ha többet szeretne megtudni a Sass használatáról a CSS szárításához, Justin Brazeau és Sass rajongó kollégája ezt a ragyogó cikkében tárgyalja Sass Mixins: tartsa meg stíluslapjait száraz.

Leave a Comment