Grunnleggende om SASS
Denne artikkelen forklarer det grunnleggende om SASS.
Vi vil forklare de grunnleggende funksjonene i SASS steg for steg og vise hvordan du bruker dem med praktisk eksempelkode.
YouTube Video
Grunnleggende om SASS
SASS (Syntactically Awesome Stylesheets) er et stilark-språk som utvider CSS. Ved å bruke SASS kan du dra nytte av avanserte funksjoner som ikke er tilgjengelige i CSS, som variabler, nesting, mixins og arv. Dette gjør håndtering og gjenbruk av stilark mye enklere.
Hva er SASS?
SASS er et språk som gjør det enklere å skrive CSS, samtidig som det gir mer fleksibel og kraftig styling. SASS tilbyr også SCSS-syntaksen (Sassy CSS), som ligner på standard CSS-syntaks. Her er et eksempel:.
SCSS-eksempel
1$base-font: Arial, sans-serif;
2$bg-color: #f4f4f4;
3
4body {
5 font-family: $base-font;
6 background-color: $bg-color;
7}
CSS-eksempel
1body {
2 font-family: Arial, sans-serif;
3 background-color: #f4f4f4;
4}
Slik setter du opp SASS
Hvordan installere
For å bruke SASS, installer først Node.js og deretter SASS med følgende kommando:.
1npm install -g sass
Hvordan kompilere
For å kompilere SASS-filer (.scss
eller .sass
) til CSS, bruk følgende kommando:.
1sass input.scss output.css
Du kan også bruke watch
-alternativet for å overvåke endringer i filer og utføre sanntidskompilering.
Variabler
SASS lar deg bruke variabler for å gjenbruke verdier som farger og skriftstørrelser.
Eksempelkode
1$primary-color: #3498db;
2$font-stack: 'Roboto', sans-serif;
3
4body {
5 color: $primary-color;
6 font-family: $font-stack;
7}
- Denne koden bruker SASS-variabler for å definere farger og fonter, og gjenbruker dem i
body
-velgeren for å forbedre konsistens og vedlikeholdbarhet.
Kompilert resultat
1body {
2 color: #3498db;
3 font-family: 'Roboto', sans-serif;
4}
Nesting
SASS forbedrer lesbarheten i koden ved å la CSS-selektorer nestes.
Eksempelkode
1nav {
2 ul {
3 list-style: none;
4 margin: 0;
5 padding: 0;
6
7 li {
8 display: inline-block;
9
10 a {
11 text-decoration: none;
12 color: #333;
13
14 &:hover {
15 color: #3498db;
16 }
17 }
18 }
19 }
20}
- Denne koden bruker nøstet hierarki for å tydeliggjøre strukturen til stilene visuelt.
Kompilert resultat
1nav ul {
2 list-style: none;
3 margin: 0;
4 padding: 0;
5}
6
7nav ul li {
8 display: inline-block;
9}
10
11nav ul li a {
12 text-decoration: none;
13 color: #333;
14}
15
16nav ul li a:hover {
17 color: #3498db;
18}
Mixins
Mixins lar deg gjenbruke kode på tvers av flere selektorer.
Eksempelkode
1@mixin border-radius($radius) {
2 border-radius: $radius;
3 -webkit-border-radius: $radius;
4 -moz-border-radius: $radius;
5}
6
7button {
8 @include border-radius(10px);
9}
10
11.card {
12 @include border-radius(5px);
13}
- Denne koden definerer en
border-radius
-stil ved hjelp av@mixin
og gjenbruker den ibutton
og.card
med@include
, noe som gjør stilsetting effektivt uten duplisering.
Kompilert resultat
1button {
2 border-radius: 10px;
3 -webkit-border-radius: 10px;
4 -moz-border-radius: 10px;
5}
6
7.card {
8 border-radius: 5px;
9 -webkit-border-radius: 5px;
10 -moz-border-radius: 5px;
11}
Arv (@extend)
Arv lar deg bruke eksisterende stiler på andre selektorer.
Eksempelkode
1%button-style {
2 padding: 10px 20px;
3 color: white;
4 background-color: #3498db;
5}
6
7button {
8 @extend %button-style;
9 border: none;
10}
11
12.link-button {
13 @extend %button-style;
14 text-decoration: none;
15}
- Denne koden definerer en plassholderselektor
%button-style
og bruker@extend
for å bruke felles stiler på bådebutton
og.link-button
, noe som fremmer gjenbruk og konsistens.
Kompilert resultat
1button, .link-button {
2 padding: 10px 20px;
3 color: white;
4 background-color: #3498db;
5}
6
7button {
8 border: none;
9}
10
11.link-button {
12 text-decoration: none;
13}
Betingelser og løkker
SASS støtter betingelser og løkker for å generere stiler dynamisk.
Eksempel på betinget setning
1$theme: dark;
2
3body {
4 background-color: if($theme == light, #fff, #333);
5 color: if($theme == light, #333, #fff);
6}
- Denne koden bruker SASS sin
if
-funksjon til å bytte bakgrunns- og tekstfarger basert på verdien av$theme
, og muliggjør dynamisk stilgenerering med betingelser.
Eksempel på løkke
1@for $i from 1 through 3 {
2 .column-#{$i} {
3 width: calc(100% / $i);
4 }
5}
- Denne koden bruker en SASS
@for
-løkke for å generere klasser fra.column-1
til.column-3
dynamisk.
Kompilert resultat
1body {
2 background-color: #333;
3 color: #fff;
4}
5
6.column-1 {
7 width: 100%;
8}
9
10.column-2 {
11 width: 50%;
12}
13
14.column-3 {
15 width: 33.3333%;
16}
Filoppsplitting og importering
SASS lar deg splitte filer og gjenbruke dem med @use
eller @import
.
Filstruktur
styles/
_variables.scss
_mixins.scss
main.scss
_variables.scss
1$primary-color: #3498db;
_mixins.scss
1@mixin flex-center {
2 display: flex;
3 justify-content: center;
4 align-items: center;
5}
main.scss
1@use 'variables';
2@use 'mixins';
3
4header {
5 background-color: variables.$primary-color;
6 @include mixins.flex-center;
7}
Kompilert resultat
1header {
2 background-color: #3498db;
3 display: flex;
4 justify-content: center;
5 align-items: center;
6}
Sammendrag
Å bruke SASS effektiviserer skrivingen av CSS og forbedrer gjenbruk og vedlikehold av kode.
Du kan følge med på artikkelen ovenfor ved å bruke Visual Studio Code på vår YouTube-kanal. Vennligst sjekk ut YouTube-kanalen.