Blog (2)
Komentarze (6)
Recenzje (0)

SASS – czyli jak uprzyjemnić sobie pracę z CSSami - Część 2: Trochę praktyki

@SimekSASS – czyli jak uprzyjemnić sobie pracę z CSSami - Część 2: Trochę praktyki08.06.2011 20:49

Większość zaliczeń już mam z głowy, projekt w firmie na ukończeniu także w końcu mam czas, aby skrobnąć część drugą SASSego poradniko-tutoriala. Dziś będzie praktycznie!

Nesting – zagnieżdżanie Jedna z największych zalet SASS, dzięki zagnieżdżaniu pisanie staje się o wiele bardziej intuicyjne, a kod jest bardziej przejrzysty, a przy odpowiednim nazewnictwie pozwala uniknąć niechcianego ostylowania, bez żmudnego dodawania klasy do każdego selektora.

Przykładowy kod: po lewej SCSS, po prawej kod wynikowy CSS.

Ampersand ( & ) znajdujący się w kodzie jest odnośnikiem do rodzica bloku, czyli &:hover jest interpretowane jako tr:hover. Możemy także używać ampersanda, aby wyodrębnić jedynie nadrzędny element z dana klasą, np. w naszym wypadku &.odd oznaczało by wyróżnienie tylko elementów tr.odd.

Zmienne

Zmienne deklarujemy wg schematu: $nazwa: wartość; Przykład:

 $pink: #CE4DD6;
$value: 16px;

.cell{
	padding: $value; /* 16px */
	margin: $value / 2 $value * 2; /* 8px 32px */
	color: $pink; /* CE4DD6 */
}[/code]
Jak widać zasada jest prosta. Dodatkowo na zmiennych jak i zwykłych wartościach można wykonywać różnorakie operacje nie tylko matematyczne:
[code]$white: #fff;

 .black{
	color: invert($white); /* #000 */
}

.gray {
	color: grayscale(#f00); /* #808080 */
}

Funkcji takich jest wiele, część dotyczy kolorów, część zmiennych, część operacji na strongach, a całą ich listę możecie znaleźć w dokumentacji.

Mixiny

Jest to kolejny feature, który skłonił mnie do używania SASS na co dzień. Mixiny to zdefiniowane przez użytkownika bloki atrybutów i wartości, które dzięki nadaniu im nazw stają się bardzo przyjemnymi, reużywalnymi własnościami.

Definiujemy je w następujący sposób:

@mixin nazwaMixina($nieobowiazkowyParametr) {
atrybut: wartość;
atrybut: $nieobowiazkowyParametr;
}

Aby skorzystać z kodu mixina w danym bloku używamy polecenia @include, np.:

@mixin borderRadius($size) {
	-webkit-border-radius: $size;
	-moz-border-radius: $size;
	-o-border-radius: $size;
	border-radius: $size;
}

div.rounded {
	@include borderRadius(20px);
	width: 200px;
}

Jak widać powyżej, mixiny są bardzo podobne w działaniu do funkcji.

Możemy także zagnieżdżać mixiny w sobie, poniżej przedstawiony kod zadziała bez problemu po połączeniu kodem wypisanym wcześniej:

@mixin submitButton {
	@include borderRadius(8px);
	line-height: 30px;
	cursor: pointer;
}

a.submit {
	@includer submitButton;
}

Ciekawa zaletą mixinów jest także to, że możemy swobodnie wkleić plik zawierający predefiniowane mixiny do każdego projektu, ponieważ renderowane są one dopiero w momencie ich użycia w klasie. Dobra praktyka jest raz przygotować sobie taki plik i wraz z biegiem czasu jedynie go powiększać. Przygotowałem dla was mały pliczek z najczęściej używanymi przeze mnie mixinami - do pobrania TUTAJ.

Dziedziczenie po selektorach

Kolejną ciekawą funkcją, którą oferuje SASS jest dziedziczenie po selektorach. Cała zabawa polega na tym, że oprócz dziedziczenia atrybutów dziedziczymy także wszystkie style elementów zagnieżdżonych. Dziedziczenie wywołujemy poprzez polecenie @extend np.:

Na dzień dzisiejszy to tyle. Mam nadzieję ze zaspokoiłem wasza ciekawość i odpowiedziałem na te najbardziej nurtujące pytania. Co w części trzeciej? Czas pokaże, ale ukaże się ona na pewno.

Jeśli macie jakiekolwiek pytania do tej części, możecie swobodnie zadawać je w komentarzach.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.