Sass, czyli Syntactically Awesome Style Sheets, to preprocesor CSS, który znacznie rozszerza możliwości czystego CSS. Jest to potężne narzędzie, które oferuje wiele zaawansowanych funkcji, takich jak zmienne, mixiny, dziedziczenie, zagnieżdżanie, operatory, funkcje i kontrola przepływu. Wszystko to czyni pracę z arkuszami stylów bardziej efektywną i przyjemną.
Sass obsługuje dwie różne składnie: Sass (wcięcia i brak nawiasów klamrowych) i SCSS (rozwiązanie zbliżone do CSS, z nawiasami klamrowymi).
1.naglowek {
2 color: red;
3
4 .podnaglowek {
5 font-size: 16px;
6 }
7}1.naglowek
2 color: red
3
4 .podnaglowek
5 font-size: 16pxSass pozwala na zagnieżdżanie selektorów, co ułatwia utrzymanie związanych reguł w jednym miejscu.
1.nav {
2 ul {
3 margin: 0;
4 padding: 0;
5 list-style: none;
6 }
7
8 li { display: inline-block; }
9
10 a {
11 display: block;
12 padding: 6px 12px;
13 text-decoration: none;
14 }
15}Sass pozwala na użycie zmiennych do przechowywania wartości, które można używać w różnych miejscach arkusza stylów.
1$primary-color: #333;
2
3body {
4 background-color: $primary-color;
5}Mieszanie to sposób na tworzenie wielokrotnie używanych bloków stylów, które można załączyć w różnych miejscach.
1@mixin reset-list {
2 margin: 0;
3 padding: 0;
4 list-style: none;
5}
6
7ul {
8 @include reset-list;
9}Możesz skorzystać z dziedziczenia, aby dzielić się wspólnymi stylami między różnymi selektorami.
1.message {
2 border: 1px solid #ccc;
3 padding: 10px;
4 color: #333;
5}
6
7.success {
8 @extend .message;
9 border-color: green;
10}
11
12.error {
13 @extend .message;
14 border-color: red;
15}Sass oferuje różne instrukcje warunkowe i pętle, takie jak @if, @for, @each i @while.
Sass to potężne narzędzie, które może znacznie zwiększyć produktywność i przyjemność z pisania CSS. Dzięki funkcjom takim jak zagnieżdżanie, mieszanie, dziedziczenie i zmienne, twórcy mogą pisać bardziej zorganizowany i utrzymywalny kod. Używanie preprocesora takiego jak Sass może być kluczowym krokiem w modernizacji Twojego procesu tworzenia stron internetowych.