Зачем использовать 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 - потерять скобки и использовать вкладки, чтобы решить, как вложенность.