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 sassHvordan kompilere
For å kompilere SASS-filer (.scss eller .sass) til CSS, bruk følgende kommando:.
1sass input.scss output.cssDu 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@mixinog gjenbruker den ibuttonog.cardmed@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-styleog bruker@extendfor å bruke felles stiler på bådebuttonog.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-1til.column-3dynamisk.
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.