Grundlæggende om SASS
Denne artikel forklarer det grundlæggende om SASS.
Vi vil forklare de grundlæggende funktioner i SASS trin for trin og demonstrere, hvordan de anvendes med praktisk eksempelkode.
YouTube Video
Grundlæggende om SASS
SASS (Syntactically Awesome Stylesheets) er et stylesheet-sprog, der udvider CSS. Ved at bruge SASS kan du drage fordel af avancerede funktioner, der ikke er tilgængelige i CSS, såsom variabler, indlejring, mixins og arv. Dette gør administration og genbrug af stylesheets meget nemmere.
Hvad er SASS?
SASS er et sprog, der forenkler CSS-udviklingen og tillader mere fleksibel og kraftfuld styling. SASS tilbyder også SCSS (Sassy CSS) syntaks, som ligner 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}
Opsætning af SASS
Sådan installerer du
For at bruge SASS skal du først installere Node.js og derefter installere SASS med følgende kommando:.
1npm install -g sass
Sådan kompilerer du
For at kompilere SASS-filer (.scss
eller .sass
) til CSS, skal du bruge følgende kommando:.
1sass input.scss output.css
Du kan også bruge watch
-muligheden til at overvåge filændringer og udføre realtidskompilering.
Variabler
SASS giver dig mulighed for at bruge variabler til at genbruge værdier som farver og skrifttyper.
Eksempelkode
1$primary-color: #3498db;
2$font-stack: 'Roboto', sans-serif;
3
4body {
5 color: $primary-color;
6 font-family: $font-stack;
7}
- Denne kode bruger SASS-variabler til at definere farver og skrifttyper og genbruger dem inden for
body
-vælgeren for at forbedre konsistens og vedligeholdelse.
Kompileret resultat
1body {
2 color: #3498db;
3 font-family: 'Roboto', sans-serif;
4}
Indlejring
SASS forbedrer læsbarheden af koden ved at tillade indlejrede CSS-selectors.
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 kode bruger indlejret hierarki for visuelt at tydeliggøre strukturen af stilarterne.
Kompileret 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 gør det muligt at genbruge kode på tværs af flere selectors.
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 kode definerer en
border-radius
-stil ved hjælp af@mixin
og genbruger den i bådebutton
og.card
med@include
, hvilket muliggør effektiv styling uden duplikering.
Kompileret 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 gør det muligt at anvende eksisterende stilarter på andre selectors.
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 kode definerer en pladsholdervælger
%button-style
og bruger@extend
til at anvende fælles stilarter på bådebutton
og.link-button
, hvilket fremmer genbrug og konsistens.
Kompileret 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 understøtter betingelser og løkker for dynamisk at generere styles.
Eksempel på betinget udsagn
1$theme: dark;
2
3body {
4 background-color: if($theme == light, #fff, #333);
5 color: if($theme == light, #333, #fff);
6}
- Denne kode bruger SASS's
if
-funktion til at skifte baggrunds- og tekstfarver baseret på$theme
-værdien, hvilket muliggør dynamisk stilgenerering via betingelser.
Eksempel på løkke
1@for $i from 1 through 3 {
2 .column-#{$i} {
3 width: calc(100% / $i);
4 }
5}
- Denne kode bruger en SASS
@for
-løkke til dynamisk at generere klasser fra.column-1
til.column-3
.
Kompileret 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}
Opdeling af filer og import
SASS gør det muligt at opdele filer og genbruge dem ved hjælp af @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}
Kompileret resultat
1header {
2 background-color: #3498db;
3 display: flex;
4 justify-content: center;
5 align-items: center;
6}
Sammendrag
Brugen af SASS effektiviserer CSS-udvikling og forbedrer koden's genanvendelse og vedligeholdelse.
Du kan følge med i ovenstående artikel ved hjælp af Visual Studio Code på vores YouTube-kanal. Husk også at tjekke YouTube-kanalen.