Z tego, co czytałem, Sass jest językiem, który czyni CSS potężniejszym dzięki obsłudze zmiennych i matematyki.
Jaka jest różnica z SCSS? Czy to ma być ten sam język? Podobny? Różne?
Sass jest preprocesorem CSS z ulepszonymi składniami. Arkusze stylów w zaawansowanej składni są przetwarzane przez program i przekształcane w zwykłe arkusze stylów CSS. Nie rozszerzają one jednak samego standardu CSS.
Zmienne CSS są obsługiwane i mogą być używane, ale nie tak dobrze, jak zmienne z procesora wstępnego.
Aby odróżnić SCSS i Sass, ten tekst na stronie dokumentacji Sass powinien odpowiedzieć na pytanie:
Istnieją dwie składnie dostępne dla Sassa. Pierwszy, znany jako SCSS (Sassy CSS) i używany w tym dokumencie, jest rozszerzeniem składni CSS. Oznacza to, że każdy prawidłowy arkusz stylów CSS jest prawidłowym plikiem SCSS o tym samym znaczeniu. Ta składnia została ulepszona o funkcje Sass opisane poniżej. Pliki korzystające z tej składni mają rozszerzenie .scss .
Druga i starsza składnia , znana jako składnia wcięta (lub czasami po prostu „Sass”), zapewnia bardziej zwięzły sposób pisania CSS. Używa wcięcia zamiast nawiasów, aby wskazać zagnieżdżenie selektorów, a nowe linie zamiast średników do oddzielenia właściwości. Pliki korzystające z tej składni mają rozszerzenie .sass .
Wszystko to działa jednak tylko z prekompilatorem Sass, który ostatecznie tworzy CSS. Nie jest rozszerzeniem samego standardu CSS.
scss
isass
jest czymś więcej niż tylko osobiste preferencje te dni.scss
jest znacznie bardziej rozpowszechnione - stosowane w najbardziej popularnych ram CSS jakBootstrap
,Foundation
,Materialize
itd. Główne ramy UI sprzyjająscss
ponadsass
domyślnie - kątowa, reagują, Vue. Wszelkie tutoriale lub pokazy będą z reguły korzystaćscss
np. Zcreate-react-app
facebook.github.io/create-react-app/docs/…Jestem jednym z programistów, którzy pomogli stworzyć Sassa.
Różnica polega na interfejsie użytkownika. Pod tekstem zewnętrznym są identyczne. Dlatego pliki sass i scss mogą się importować. W rzeczywistości Sass ma cztery parsery składniowe: scss, sass, CSS i mniej. Wszystkie z nich konwertują inną składnię do abstrakcyjnego drzewa składni, które jest następnie przetwarzane na dane wyjściowe CSS lub nawet na jeden z pozostałych formatów za pomocą narzędzia sass-convert.
Użyj składni, którą lubisz najbardziej, obie są w pełni obsługiwane i możesz zmienić je później, jeśli zmienisz zdanie.
źródło
Plik Sass
.sass
jest wizualnie różny od.scss
pliku, npPrzykład.sass - sass to starsza składnia
Example.scss - sassy css to nowa składnia od Sass 3
Każdy ważny dokument CSS można przekonwertować na Sassy CSS (SCSS), po prostu zmieniając rozszerzenie z
.css
na.scss
.źródło
.scss
na.css
to samo co.css
na.scss
?.css
akurat jest ważna.scss
. Jak tylko dodasz kod specyficzny dla scss, zmiana nazwy pliku z powrotem skończy się jako niepoprawny plik css.css
jest kwadratem iscss
prostokątem. Wszystkie kwadraty są prostokątami, ale nie wszystkie prostokąty są kwadratami.Sass ( Syntactically Awesome StyleSheets ) mają dwie składnie:
Oba są więc częścią preprocesora Sass z dwiema możliwymi składniami.
Najważniejsza różnica między SCSS a oryginalnym Sass :
SCSS :
Składnia jest podobna do CSS (do tego stopnia, że każdy prawidłowy CSS3 jest również prawidłowym SCSS , ale związek w innym kierunku oczywiście nie ma miejsca)
Używa aparatu ortodontycznego
{}
;
:
@mixin
dyrektywę@include
dyrektywaOryginalny Sass :
=
zamiast:
=
znaku+
znakiemNiektórzy wolą Sass , oryginalną składnię - podczas gdy inni wolą SCSS . Tak czy inaczej, ale warto zauważyć, że składnia wcięcia Sassa nie była i nigdy nie będzie przestarzała .
Konwersje z sass-convert :
Dokumentacja Sass i SCSS
źródło
Jego składnia jest inna i to jest główny plus (lub con, w zależności od twojej perspektywy).
Spróbuję nie powtarzać wiele z tego, co powiedzieli inni, możesz łatwo to zrobić w Google, ale zamiast tego chciałbym powiedzieć kilka rzeczy z mojego doświadczenia, używając obu, czasem nawet w tym samym projekcie.
SASS pro
.sass
jest o wiele łatwiejsze ”i czytelne niż w.scss
(subiektywne).Wady SASS
body color: red
w .scss nie możesz robić tak, jak potrafiszbody {color: red}
.scss
plików (wraz z.sass
plikami) w projekcie lub ich konwersja.sass
.Poza tym - wykonują tę samą pracę.
Teraz lubię pisać miksy i zmienne
.sass
oraz kod, który będzie się kompilował w CSS,.scss
jeśli to możliwe (tj. Visual Studio nie ma wsparcia dla,.sass
ale zawsze, gdy pracuję nad projektami Railsowymi, zwykle łączę dwa z nich, a nie w jednym pliku ofc).Ostatnio, jestem rozważa dając Stylus szansę (dla pełnoetatowego preprocesor CSS), ponieważ pozwala na łączenie dwóch składnie w jednym pliku (wśród innych funkcji). To może nie być dobry kierunek dla zespołu, ale jeśli utrzymujesz go w spokoju - jest w porządku. Rysik jest w rzeczywistości najbardziej elastyczny, jeśli chodzi o składnię.
I na koniec mixin do
.scss
porównania.sass
składni vs :źródło
Ze strony głównej języka
SASS to interpretowany język, który wyrzuca CSS. Struktura Sass wygląda jak CSS (zdalnie), ale wydaje mi się, że opis jest nieco mylący; to nie zastępuje CSS, lub rozszerzenie. Jest to interpreter, który ostatecznie wyrzuca CSS, więc Sass wciąż ma ograniczenia normalnego CSS, ale maskuje je prostym kodem.
źródło
Podstawową różnicą jest składnia. Podczas gdy SASS ma luźną składnię z białą spacją i bez średników, SCSS przypomina bardziej CSS.
źródło
Przykład składni SCSS i SASS:
SCSS
SASS
Wyjście CSS po kompilacji (to samo dla obu)
Więcej przewodnika można znaleźć na oficjalnej stronie internetowej .
źródło
Sass był pierwszy, a składnia jest nieco inna. Na przykład, włączając mixin:
Sass ignoruje nawiasy klamrowe i średniki i kładzie się na zagnieżdżaniu, co uważam za bardziej przydatne.
źródło
Różnica między artykułami SASS i SCSS wyjaśnia różnicę w szczegółach. Nie dajcie się zwieść opcjom SASS i SCSS, chociaż ja również początkowo byłem .scss to Sassy CSS i kolejna generacja .sass.
Jeśli to nie miało sensu, możesz zobaczyć różnicę w kodzie poniżej.
W powyższym kodzie używamy; oddzielić deklaracje. Dodałem nawet wszystkie deklaracje dla .border w jednym wierszu, aby zilustrować ten punkt dalej. Natomiast poniższy kod SASS musi znajdować się w różnych wierszach z wcięciem i nie ma zastosowania;
Możesz zobaczyć z CSS poniżej, że styl SCSS jest znacznie bardziej podobny do zwykłego CSS niż starsze podejście SASS.
Myślę, że większość czasu w dzisiejszych czasach, jeśli ktoś wspomina, że współpracuje z Sass, odnosi się do tworzenia w .scss zamiast tradycyjnego .sass.
źródło
Oryginalny
sass
jest podobny do składni ruby, podobny do rubinu, jadeitu itp.W tych składniach nie używamy
{}
, zamiast tego używamy białych znaków, również żadnego użycia;
...W
scss
składniach są bardziej podobneCSS
, ale z uzyskaniem większej liczby opcji, takich jak: zagnieżdżanie, deklarowanie itp., Podobneless
i inne wstępne przetwarzanieCSS
...Są to przede wszystkim zrobić to samo, ale mogę umieścić kilka wierszy każdy, aby zobaczyć różnicę składni, spojrzeć na
{}
,;
orazspaces
:SASS:
SCSS:
źródło
Kompaktowa odpowiedź:
SCSS odnosi się do głównej składni obsługiwanej przez preprocesor Sass CSS .
.scss
reprezentują standardową składnię obsługiwaną przez Sass. SCSS jest nadzbiorem CSS..sass
na „reprezentują” starszą składnię obsługiwaną przez Sass pochodzącą ze świata Ruby.źródło
SASS to Syntactically Awesome Style Sheets i jest rozszerzeniem CSS, które zapewnia funkcje zagnieżdżonych reguł, dziedziczenia, Mixins, natomiast SCSS to Sassy Cascaded Style Sheets, który jest podobny do CSS i wypełnia luki i niezgodności między CSS i SASS. To było na licencji MIT. Ten artykuł zawiera więcej informacji na temat różnic: https://www.educba.com/sass-vs-scss/
źródło