Из того, что я читал, Sass - это язык, который делает CSS более мощным с поддержкой переменных и математики.
Какая разница с SCSS? Это должен быть один и тот же язык? Аналогичный? Другой?
Sass - это препроцессор CSS с улучшенными синтаксисами. Таблицы стилей в расширенном синтаксисе обрабатываются программой и превращаются в обычные таблицы стилей CSS. Однако они не расширяют сам стандарт CSS.
Переменные CSS поддерживаются и могут использоваться, но не так, как переменные препроцессора.
Для различия между SCSS и Sass, этот текст на странице документации Sass должен ответить на вопрос:
Для Sass доступны два синтаксиса. Первая, известная как SCSS (Sassy CSS) и используемая в этой ссылке, является расширением синтаксиса CSS. Это означает, что каждая действительная таблица стилей CSS является допустимым файлом SCSS с тем же значением. Этот синтаксис улучшен функциями Sass, описанными ниже. Файлы, использующие этот синтаксис, имеют расширение .scss .
Второй и более старый синтаксис , известный как синтаксис с отступом (или иногда просто «Sass»), обеспечивает более лаконичный способ написания CSS. Он использует отступ, а не скобки для обозначения вложенности селекторов, и символы новой строки, а не точки с запятой для разделения свойств. Файлы, использующие этот синтаксис, имеют расширение .sass .
Однако все это работает только с прекомпилятором Sass, который в итоге создает CSS. Это не расширение самого стандарта CSS.
scss
иsass
это больше, чем просто личные предпочтения.scss
гораздо более распространены - используется в самых популярных рамках CSS , какBootstrap
,Foundation
, иMaterialize
т.д. Основные структуры пользовательского интерфейса благоприятствуютscss
болееsass
по умолчанию - Угловой, среагировать, Vue. Любые учебные пособия или демонстрации, как правило, будут использовать,scss
например,create-react-app
facebook.github.io/create-react-app/docs/…Я один из разработчиков, который помог создать Sass.
Разница в интерфейсе. Под текстовой внешностью они идентичны. Вот почему файлы sass и scss могут импортировать друг друга. На самом деле, Sass имеет четыре синтаксических парсера: scss, sass, CSS и другие. Все они преобразуют другой синтаксис в абстрактное синтаксическое дерево, которое затем обрабатывается в выводе CSS или даже в одном из других форматов с помощью инструмента sass-convert.
Используйте синтаксис, который вам нравится больше всего, оба полностью поддерживаются, и вы можете переключаться между ними позже, если передумаете.
источник
.sass
Файл Sass визуально отличается от.scss
файла, напримерExample.sass - sass - старый синтаксис
Example.scss - sassy css - новый синтаксис Sass 3
Любой действительный документ CSS можно преобразовать в Sassy CSS (SCSS), просто изменив расширение с
.css
на.scss
.источник
.scss
к.css
такому же , как.css
к.scss
?.css
просто так и есть.scss
. Как только вы добавите специфичный для scss код, изменение имени файла снова станет недействительным файлом css.css
это квадрат иscss
прямоугольник. Все квадраты являются прямоугольниками, но не все прямоугольники являются квадратами.Sass ( Syntaxically Awesome StyleSheets ) имеет два синтаксиса:
Таким образом, они оба являются частью препроцессора Sass с двумя различными синтаксисами.
Самое важное отличие SCSS от оригинального Sass :
SCSS :
Синтаксис похож на CSS (настолько, что каждый правильный CSS3 также является допустимым SCSS , но взаимосвязи в другом направлении, очевидно, не бывает)
Использует брекеты
{}
;
:
@mixin
директива@include
директиваОригинальный Sass :
=
вместо:
=
знак+
знакНекоторые предпочитают Sass , оригинальный синтаксис - в то время как другие предпочитают SCSS . В любом случае, но стоит отметить, что синтаксис Sass с отступом не был и никогда не будет устаревшим .
Конверсии с помощью sass-convert :
Документация Sass и SCSS
источник
Его синтаксис отличается, и это главное за (или против, в зависимости от вашей точки зрения).
Я постараюсь не повторять многое из того, что говорили другие, вы можете легко это погуглить, но вместо этого я хотел бы сказать пару вещей из моего опыта использования обоих, иногда даже в одном и том же проекте.
SASS pro
.sass
гораздо проще и читабельнее, чем в.scss
(субъективно).SASS минусы
body color: red
же, что и в .scssbody {color: red}
.scss
файлы (вместе с.sass
файлами) в вашем проекте, либо конвертировать их в.sass
.Кроме этого - они делают ту же работу.
Теперь я хотел бы написать миксины и переменные
.sass
и код, который на самом деле будет компилироваться в CSS,.scss
если это возможно (т.е. Visual Studio не поддерживает,.sass
но всякий раз, когда я работаю над проектами Rails, я обычно объединяю два из них, а не в одном файле ofc).В последнее время я рассматриваю возможность предоставить Stylus шанс (для штатного препроцессора CSS), поскольку он позволяет объединять два синтаксиса в одном файле (среди некоторых других функций). Возможно, это не очень хорошее направление для команды, но если вы поддерживаете ее в одиночку - это нормально. На самом деле стилус наиболее гибок, когда речь идет о синтаксисе.
И, наконец, mixin для
.scss
сравнения.sass
синтаксиса:источник
С домашней страницы языка
SASS - это интерпретируемый язык, который выделяет CSS. Структура Sass выглядит как CSS (удаленно), но мне кажется, что описание немного вводит в заблуждение; это не замена CSS или расширение. Это интерпретатор, который в конце выкладывает CSS, поэтому у Sass есть ограничения обычного CSS, но он маскирует их простым кодом.
источник
Основным отличием является синтаксис. Хотя SASS имеет свободный синтаксис с пробелами и без точек с запятой, SCSS больше напоминает CSS.
источник
Пример некоторых синтаксисов SCSS и SASS:
SCSS
SASS
Вывод CSS после компиляции (одинаково для обоих)
Более подробное руководство вы можете увидеть на официальном сайте .
источник
Sass был первым, а синтаксис немного другой. Например, включая миксин:
Sass игнорирует фигурные скобки и точки с запятой и лежит на вложенности, что мне показалось более полезным.
источник
Разница между статьями SASS и SCSS объясняет разницу в деталях. Не смущайтесь вариантами SASS и SCSS, хотя я и был изначально, .scss - это Sassy CSS и следующее поколение .sass.
Если это не имеет смысла, вы можете увидеть разницу в коде ниже.
В приведенном выше коде мы используем; отделить декларации. Я даже добавил все объявления для .border в одну строку, чтобы проиллюстрировать этот момент дальше. Напротив, приведенный ниже код SASS должен быть в разных строках с отступом, и в нем нет смысла;;
Из приведенного ниже CSS видно, что стиль SCSS намного больше похож на обычный CSS, чем более старый подход SASS.
Я думаю, что в большинстве случаев в наши дни, если кто-то упоминает, что он работает с Sass, он ссылается на авторство в .scss, а не на традиционный способ .sass.
источник
Оригинал
sass
похож на синтаксис ruby, похож на ruby, jade и т. Д.В этих синтаксисах мы не используем
{}
, вместо этого мы используем пробелы, также не используем;
...С
scss
синтаксисами больше похожеCSS
, но с получением большего количества вариантов, таких как: вложение, декларирование и т. Д., Аналогичныеless
и другие предварительные обработкиCSS
...Они в основном делают то же самое, но я ставлю пару строк каждого , чтобы увидеть разницу синтаксиса, смотрите на
{}
,;
иspaces
:SASS:
SCSS:
источник
Компактный ответ:
SCSS относится к основному синтаксису, поддерживаемому препроцессором Sass CSS .
.scss
представляют стандартный синтаксис, поддерживаемый Sass. SCSS - это расширенный набор CSS..sass
на «», представляют «более старый» синтаксис, поддерживаемый Sass, созданный в мире Ruby.источник
SASS - это синтаксически удивительные таблицы стилей, являющиеся расширением CSS, которые предоставляют функции вложенных правил, наследования, микшинов, в то время как SCSS - это простейшие каскадные таблицы стилей, которые похожи на CSS и заполняют пробелы и несовместимости между CSS и SASS. Он был лицензирован по лицензии MIT. В этой статье есть больше о различиях: https://www.educba.com/sass-vs-scss/
источник