Зачем использовать Sass (не SCSS)?
all — Я просмотрел недавнюю презентацию о 960 Grid System, Обновить OKC – 19 апреля 2011 года, а на предпоследнем слайде (101/102) парень рекомендует "если вы собираетесь использовать Sass, используйте Sass, а не SCSS". Учитывая, что SCSS является новым основным синтаксисом, почему предпочитаете Sass для SCSS? Это просто предпочтение лаконичности по сравнению с CSS, или есть реальная причина использования Sass, а не SCSS?
Ответы
Ответ 1
Я не могу придумать вескую причину:)
Я посмотрел на весь набор слайдов, я думаю, что ведущий (который также связан с проектом SASS, я думаю, в любом случае?) - это образ мышления, который использует то, что вы знаете, чтобы "получить" er done "
Sass предположительно короче и более кратким, и, возможно, оратор знает Саса наизнанку, но, исходя из личного опыта чтения и написания CSS более 10 лет, я нахожу SCSS гораздо более интуитивный. Мне не нужно изучать правила отступов Sass, а скобки в SCSS и CSS предоставляют визуальные отступы для вложенности - что очень похоже на большинство других языков, поэтому любой из языков программирования/кодирования был бы знаком с идеей закрытие гнезд??
.. более важно, что каждый допустимый CSS уже является допустимым SCSS, поэтому для его использования не требуется преобразование - например. Я смог взять мои листы Drupal (все 29 из них!), Изменить их расширение и перекомпилировать/сжать их в очень короткое время. С тех пор я смог взять небольшой кусок за раз и "Насладить" его, используя гнездование и т.д., и мне все еще нравится видеть скобки и полуколоны, это не имеет значения, которые вы используете, когда все это скомпилировано!
IMHO Sass сам по себе слишком высокий барьер для входа в большой проект (существующий, т.е. один не построенный/сенсибилизированный с нуля), где он может быть модульным с помощью SCSS
Итак, чтобы следовать оригинальному автору (слайд-шоу), а не дискутировать про и против, я просто буду продолжать использовать тот, который я знаю TYVM:)
Ответ 2
Я считаю, что синтаксис .scss
в скобках в настоящее время по умолчанию используется только потому, что он более знаком новичкам, которые переключаются на SASS из LESS и ванильного CSS.
Синтаксис с отступом .sass
был первым в SASS, будучи идентичным (и создавая конечную команду) HAML. Новый синтаксис .scss
в скобках похож на LESS, конкурент SASS, и SASS и LESS позволяют преобразовать из CSS только переименованием.
Синтаксис с отступом .sass
имеет только один недостаток: он не позволяет разделять аргументы функции /mixin на несколько строк. Это может сделать код более трудным для чтения (пример).
На практике эта проблема редка и может быть признаком того, что код плохо разработан и требует рефакторинга.
Единственным, но решающим преимуществом синтаксиса с отступом .sass
является, что он намного чище и проще в понимании, будучи в равной степени выразительным и мощным.
Я создал анимацию для рассмотрения разницы:
![enter image description here]()
Кроме того, вы не ненавидели его каждый раз, когда ваш код не работал/компилировался из-за отсутствия точки с запятой (и, может быть, интерпретатор/компилятор создавал ошибочное сообщение об ошибке)?
В принципе, синтаксис с отступом .sass
просто удаляет вздутия визуального шума.
Конечно, для этого требуется некоторое время. Сначала это выглядит чуждо всем, кто имеет опыт работы с CSS или LESS. Но как только вы немного приучитесь к настройке, вы почувствуете отвращение к синтаксису с CSS/LESS/SCSS и JavaScript и скопируете чистый синтаксис SASS, HAML, CoffeeScript и Python/Ruby.
Ответ 3
Плюсы:
Это чище. Меньше визуального шума. Более элегантный.
Минусы:
Большой: нельзя использовать новую строку. Это единственное, что мне не нравится в SASS. См. Пример ниже.
Остальное: более высокий барьер для входа для людей, которые борются с явно сложной концепцией отступов.
В SASS вы вынуждены придерживаться линий. Поэтому, если у вас есть
@function -create-gradient-from-color($bgcolor:#000,$depth:6%)
...code...
тогда вы не сможете этого сделать, и я нахожу гораздо более чистым
@function -create-gradient-from-color(
$bgcolor: #000,
$depth: 6%
)
...code...
Это вызовет ошибку из-за новых строк.
Но вы можете сделать это в SCSS, так как он не заботится о новостях
@function -create-gradient-from-color(
$bgcolor: #000,
$depth: 6%
) {
...code...
}
Итак, я обнаружил, что сохраняю вещи в необязательных аргументах, чтобы предотвратить эту ситуацию.
Ответ 4
Я нахожу SASS намного быстрее, чтобы печатать.
SASS и SCSS являются огромным дополнением к CSS - настолько отличаются, что я не хочу путать их со стандартным CSS.
Нелегко узнать SASS - потерять скобки и использовать вкладки, чтобы решить, как вложенность.