W jednym z poprzednich wpisów – Emmet – Podstawy pokazałem jakie możliwości daje Emmet podczas pracy z plikami HTML. Omawiana wtyczka pozwala przyśpieszyć pisanie kodu nie tylko HTMLowego. W tym wpisie przedstawię możliwości jakie daje podczas pisania reguł CSS.
Skróty CSS
Emmet umożliwia pisanie adekwatności CSS dzięki skrótów. Nie ma możliwości tworzenia selektorów. Wtyczka posiada wiele predefiniowanych skrótów, dla przykładu podając m i wciskając przycisk tabulacji, w efekcie uzyskamy
margin: ;W ten sposób otrzymaliśmy adekwatność odpowiadającą za utworzenie marginesu, która wymaga wprowadzenia dodatkowych danych. Mamy również możliwość automatycznego wypełnienia wartości z poziomu skrótu.
m10Dzięki takiemu skrótowi otrzymamy
margin: 10px;Możemy również dodać drugą wartość, wtedy musimy zastosować łącznik –.
m10-20Otrzymamy
margin: 10px 20px;Czasem zachodzi konieczność korzystania z wartości ujemnych. W takim przypadku wystarczy postawić minus przed odpowiednią wartością.
m10--20Daje nam w efekcie
margin: 10px -20px;Jendostki
Jak mogliśmy zobaczyć w powyższych przykładach, wprowadzane wartości domyślnie przyjmowały jednostkę px. W przypadku kiedy wprowadzona jednostka jest zmiennoprzecinkowa, wtedy po rozwinięciu skrótu otrzymamy jednostkę em.
Skrót
m5.5Rozwinięcie
margin: 5.5em;Poza tym Emmet pozwala jawnie określić jednostkę jaka ma zostać wstawiona w rezultacie wykonania skrótu.
m10remW efekcie otrzymamy
margin: 10rem;W przypadku jawnego określenia jednostek nie ma konieczności oddzielania kolejnych wartości separatorem –.
m10rem15remOtrzymana adekwatność
margin: 10rem 15rem;Wtyczka posiada również aliasy do najczęściej stosowanych jednostek podczas pracy z CSS.
m10p m10e m10xRezultat użycia skróconych nazw jednostek
margin: 10%; margin: 10em; margin: 10ex;Kolory
Mamy również możliwość używania skrótów do wybierania kolorów dzięki zapisu szesnastkowego.
c#dEfekt
color: #dddddd;W tym przypadku # jest separatorem wartości, dzięki temu nie musimy używać łącznika –. Możemy korzystać z takiego zapisu kolorów w adekwatnościach łączących różne wartości ze sobą.
bd3#2sGdzie w efekcie otrzymamy
border: 3px #222 solidKolory możemy wprowadzić do skrótu dzięki czterech różnych sposobów
#d #d1 #d1a #d1acdaW rezultacie otrzymujemy
#dddddd #d1d1d1 #dd11aa #d1acdaWłaściwości bez jednostek
Niektóre adekwatności CSS otrzymują wartości bezjednostkowe. Wtyczka rozpoznaje je i pozostawia te wartości bez jednostek.
z10 lh1 op.1 fw300W wyniku końcowym dostajemy
z-index: 10; line-height: 1; opacity: 0.1; font-weight: 300;!important
Co prawda NIE JEST ZALECANE!!! korzystanie ze słowa kluczowego !important, mimo to chciałbym pokazać, iż omawiana wtyczka ma możliwość w szybki sposób dodania tego słowa poprzez wstawienie na końcu każdego skrótu !.
m10!W efekcie dostaniemy
margin: 10px !important;Prefiksy
W CSS wykorzystywane są również adekwatności, które wymagają od programisty użycia prefiksów. Pozwalają poprawnie interpretować adekwatności danej przeglądarce internetowej. W tym miejscu również zastosowanie znalazł Emmet, przyśpieszając tworzenie adekwatności z prefiksami. Aby dodać niezbędne prefiksy wystarczy na samym początku skrótu dodać łącznik –.
-trsEfekt działana skrótu
-webkit-transition: prop time; -moz-transition: prop time; -ms-transition: prop time; -o-transition: prop time; transition: prop time;W niektórych środowiskach programistycznych, które obsługują tabstop zostają dodane zastępcze wartości, tak jak powyżej prop i time. Zmiana wartości w jednym miejscu, automatycznie dokona zmiany w pozostałych miejscach.
Jeżeli Emmet nie rozpoznał danej adekwatności, wtedy dodaje wszystkie możliwe prefiksy. Jest to bardzo pomocne w przypadku korzystania z adekwatności, które zostały niedawno zaimplementowane do przeglądarek.
-wlasciwoscOtrzymamy
-webkit-wlasciwosc: ; -moz-wlasciwosc: ; -ms-wlasciwosc: ; -o-wlasciwosc: ; wlasciwosc: ;Można również samemu zdecydować jakie prefiksy mają zostać dodane dzięki liter symbolizujących je.
-m-trsOtrzymamy
-moz-transition: prop time; transition: prop time;Litery symbolizujące dane prefiksy
* w - webkit * m - moz * s - ms * o - oGradienty
Emmet ułatwia również pisanie gradientów. Tworząc gradient programista musi pamiętać o dodaniu wszystkich prefiksów, a także wszystkich notacji, tak by gradienty działały na wszystkich obsługujących przeglądarkach. Wielu programistów do tego celu wykorzystuje wtyczki do IDE lub korzysta z generatorów dostępnych w sieci.
lg(left, blue 30%, red)W efekcie otrzymamy
background-image: -webkit-linear-gradient(left, blue 30%, red); background-image: -moz-linear-gradient(left, blue 30%, red); background-image: -o-linear-gradient(left, blue 30%, red); background-image: linear-gradient(to right, blue 30%, red);Złączenia
Podczas pisania kodu CSS z wykorzystaniem wtyczki Emmet, mamy również możliwość pisania wielu adekwatności jednocześnie.
m10+p5W efekcie otrzymując odpowiednio sformatowany kod CSS.
margin: 10px; padding: 5px;Inne przykładowe skróty
Każdą adekwatność możemy zapisać dzięki skrótu. Poniżej zamieszczam złożony skrót, za pomocą którego możemy zobaczyć jak duży potencjał drzemie w omawianej wtyczce.
posr+oh+h100+w100p+bd3#2s+bg#ca+c#3W efekcie otrzymujemy
position: relative; overflow: hidden; height: 100px; width: 100%; border: 3px #222 solid; background: #cacaca; color: #333;Podsumowanie
Jak mogliśmy zobaczyć w powyższych przykładach, Emmet pozwala przyśpieszyć pracę nie tylko podczas pisania HTMLa, ale także CSSa. Dzięki temu rozszerzeniu pisanie kodu staję się szybsze i przyjemniejsze. Pozwala zapomnieć o prefiksach poprzez automatyczne uzupełnianie. Niejednokrotnie programiści doszukiwali się błędów, spędzając godziny nad kodem, gdy problem stanowił brak prefiksów.
Przydatne linki
Spis wszystkich dostępnych skrótów
Jeżeli podoba Ci się to co robię na blogu, wesprzyj mnie obserwując moje profile społecznościowe Fanpage, Twitter oraz
. Dzięki temu nie ominie Cie żaden wpis.