Как компилировать sass в css

Следим и компилируем Sass, за пять быстрых шагов

Russian (Pусский) translation by Lexie Bykova (you can also view the original English article)

Sass — возможно самый популярный препроцессор CSS; годами он помогал нам писать чистый, многоразовый и модульный CSS. В этом кратком руководстве я расскажу о том, что важно, и объясните, как скомпилировать Sass в CSS, используя командную строку.

1. Установка Node.js

Чтобы скомпилировать Sass через командную строку, для начала нам нужно установить node.js. Загрузите его с официального сайта nodejs.org, распакуйте и следуйте помощнику.

2. Инициализация NPM

Как компилировать sass в css. terminal. Как компилировать sass в css фото. Как компилировать sass в css-terminal. картинка Как компилировать sass в css. картинка terminalКак компилировать sass в css. terminal. Как компилировать sass в css фото. Как компилировать sass в css-terminal. картинка Как компилировать sass в css. картинка terminal Как компилировать sass в css. terminal. Как компилировать sass в css фото. Как компилировать sass в css-terminal. картинка Как компилировать sass в css. картинка terminalПереход к папке проекта Sass

Как компилировать sass в css. json. Как компилировать sass в css фото. Как компилировать sass в css-json. картинка Как компилировать sass в css. картинка jsonКак компилировать sass в css. json. Как компилировать sass в css фото. Как компилировать sass в css-json. картинка Как компилировать sass в css. картинка json Как компилировать sass в css. json. Как компилировать sass в css фото. Как компилировать sass в css-json. картинка Как компилировать sass в css. картинка json

3. Установка Node-Sass

Node-sass это пакет NPM, который компилирует Sass в CSS (и делает это очень быстро). Для установки node-sass выполните в терминале следующую команду: npm install node-sass

4. Пишем команду Node-sass

Всё готово для написания маленького скрипта для компилирования Sass. Откройте файл package.json в вашем редакторе кода. Вы увидите что-то вроде этого:

В разделе scripts добавьте scss команду, в свойстве test, как показано ниже:

Давайте рассмотрим эту строку по словам.

5. Запускаем скрипт

Для выполнения нашего одностраничного скрипта, нам нужно запустить в терминале следующую команду: npm run scss

И вуаля! Мы следим и компилируем SASS.

Как компилировать sass в css. 2017 02 26%2023.19.55. Как компилировать sass в css фото. Как компилировать sass в css-2017 02 26%2023.19.55. картинка Как компилировать sass в css. картинка 2017 02 26%2023.19.55Как компилировать sass в css. 2017 02 26%2023.19.55. Как компилировать sass в css фото. Как компилировать sass в css-2017 02 26%2023.19.55. картинка Как компилировать sass в css. картинка 2017 02 26%2023.19.55 Как компилировать sass в css. 2017 02 26%2023.19.55. Как компилировать sass в css фото. Как компилировать sass в css-2017 02 26%2023.19.55. картинка Как компилировать sass в css. картинка 2017 02 26%2023.19.55

Быстрый совет Sass

Оставайтесь на связи, чтобы получить больше быстрых советов Sass.

Источник

Инструкция по SCSS

SCSS — это препроцессор для написания CSS кода. SCSS дает дополнительные возможности. С ним можно использовать переменные, вложенные селекторы и медиазапросы, собирать несколько файлов в один, миксины, наследования и другие полезные вещи которые упростят и структурируют работу с CSS кодом. В этой статье мы будем говорить о SCSS. О его различии с Sass будет сказано немного ниже.

Что такое SCSS

SCSS это отдельный формат файла, в котором пишутся стили для сайта. Он очень похож на SCSS, но в добавок имеет множество улучшений. Буквально SCSS расшифровывается как Super CSS — то есть CSS c супер-силой.

SCSS не подключается в браузер напрямую. Браузеры не умеют с ним работать. SCSS компилируется (собирается) в привычный для браузера CSS код, и уже CSS файл подключается на страницу.

Для того чтобы скомпилировать SCSS в CSS нужно использовать компилятор. Это может быть специальная программа: Koala, Prepros, или другая. Либо плагин для редактора. Или инструмент для сборки проекта: Gulp, Webpack или другой.

Особенности SCSS

Отличие Sass от SCSS

Sass и SCSS очень похожи, но в них есть пару различий. Sass не использует точки с запятой и не имеет фигурных скобок. Вложенность в Sass определяется отступами.

Пример SCSS кода:

Пример Sass кода:

Далее мы продолжим разбирать SCSS синтаксис.

Компиляция SCSS

Чтобы скомпилировать SCSS воспользуемся программой Koala. Скачать ее можно здесь. Она доступна для всех платформ, и умеет компилировать не только SASS/SCSS, но и Less c CofeeScript.

Как компилировать sass в css. image. Как компилировать sass в css фото. Как компилировать sass в css-image. картинка Как компилировать sass в css. картинка imageСайт программы Koala

После создаем проект в котором создаем SCSS файл и пишем в нем SCSS код. Например вот такой:

Как компилировать sass в css. image 2. Как компилировать sass в css фото. Как компилировать sass в css-image 2. картинка Как компилировать sass в css. картинка image 2Файловая структура проекта

Содержимое файла main.scss

Далее закидываем проект в Koala, видим что она нашла нужный файл и нотификацию о успехе компиляции.

Как компилировать sass в css. image 3. Как компилировать sass в css фото. Как компилировать sass в css-image 3. картинка Как компилировать sass в css. картинка image 3

Посмотрим на содержимое проекта, еще раз. Теперь в нем появилась папка CSS c скомпилированным main.css файлом.

Как компилировать sass в css. image 4. Как компилировать sass в css фото. Как компилировать sass в css-image 4. картинка Как компилировать sass в css. картинка image 4

Поздравляю! Мы только что скомпилировали SCSS!)

Настройки программы Koala

Настройки у программы достаточно просты. Достаточно кликнуть на иконку шестеренки.

Как компилировать sass в css. image 5. Как компилировать sass в css фото. Как компилировать sass в css-image 5. картинка Как компилировать sass в css. картинка image 5Заходим в настройки Koala

Основные настройки

Здесь вы можете выбрать язык программы, есть и Русский. Опции сворачивания программы в трей, чтобы не занимала место на таскбаре, нотификации при успешной компиляции, автоматическую компиляцию файлов когда проект добавлен в программу или обновлен. Можете поставить как у меня, но будьте аккуратны с треем, при сворачивании иконка программы будет улетать в него, и может показаться что программа не запущена, но она просто спряталась.

Как компилировать sass в css. image 7. Как компилировать sass в css фото. Как компилировать sass в css-image 7. картинка Как компилировать sass в css. картинка image 7Основные настройки программы Koala

Теперь зайдем в настройки для SASS

Compass mode нужен чтобы использовать возможности библиотеки Compass, на начальном этапе они вам точно не понадобятся, поэтому отключаем.

Как компилировать sass в css. image 8. Как компилировать sass в css фото. Как компилировать sass в css-image 8. картинка Как компилировать sass в css. картинка image 8Настройки SASS в Koala

Стиль вывода имеет 4 разных значения:

Как компилировать sass в css. image 10. Как компилировать sass в css фото. Как компилировать sass в css-image 10. картинка Как компилировать sass в css. картинка image 10

Если вы хотите выбрать максимально читабельный и развернутый CSS на выходе, то это expanded. Nested это немного сжатый с указанием вложенности стиль оформления CSS, compact — вытянутые стили в оду строку, каждый селектор с новой строки. Compressed- сжатый, минифицированный вид CSS, когда весь код файла вытянут в одну строчку, и удалены все лишние пробелы и символы которые могут быть удалены без потери работоспособности.

Я использую либо включенный стиль expanded c включенными «сорс-мапами» для удобства разработки, либо compressed c отключенным source maps когда надо сделать максимально сжатый CSS файл без лишнего веса.

Индивидуальные настройки для файлов

Еще в Koala можно открывать индивидуальные настройки для каждого файла, просто кликнув по нему. Выглядит это вот так:

Как компилировать sass в css. image 9. Как компилировать sass в css фото. Как компилировать sass в css-image 9. картинка Как компилировать sass в css. картинка image 9Правая панель — индивидуальные настройки для файлов в Koala

По умолчанию эти индивидуальные настройки дублируют основные, поэтому не рекомендую их изменять. Единственное чем они могут быть полезны — это отключение галочки автокомпиляции для тех файлов которые вы не хотите компилировать. И еще в этой панели есть кнопка Compile, пригодится если вы хотите запустить сборку принудительно.

На этом с настройками закончили. Компиляция SCSS настроена.

Возможности SCSS

SCSS имеет массу возможностей, в некотором роде это почти язык программирования 🙂 потому что в нем можно писать циклы и условия. Но реально для базовой пользы при верстке достаточно лишь несколько его функций. О них я расскажу в первую очередь.

Основные полезные возможности SCSS на каждый день:

Подключение фрагментов, импорт файлов

В SCSS можно разделать стили проекта на отдельные части. Вот типичная структура проекта:

Как компилировать sass в css. image 13. Как компилировать sass в css фото. Как компилировать sass в css-image 13. картинка Как компилировать sass в css. картинка image 13Структура стилей в проекте

В папке sass созданы отдельные файлы для стилей проекта:
base/_vars.scss — глобальные переменные (сокращение от variables),
base/_base.scss — сбросы, нормализаторы и базовые стили проекта

В папке blocks отдельные файлы под секции или блоки и компоненты проекта: header, main, footer.

Имена данных файлов начинаются с символа подчеркивания, сделано это для того чтобы компилятор не компилировал их по умолчанию. Так он пойме что эти файлы являются фрагментами, не самостоятельными файлами, а частью другого файла. Это соглашение именования в документации SASS.

Импорт всех этих файлов выглядит следующим образом:

Импорты scss файлов в scss полностью переносят содержимое импортируемых. То есть на выходе мы получим один файл со всем кодом который импортировался в него.

Пример импорта SCSS и CSS файла:

Комментарии в SCSS

Переменные в SCSS

Если говорить о переменных в рамках проекта, то для них создается отдельный файл _vars.scss который подключается в начале импортов. Пример с ним был указан выше.

Стоит заметить что переменные в scss имеют области видимости, и если в локальной области видимости переопределить переменную, то будет работать локальная переменная, а не глобальная.

Пример. Этот SCSS код:

Даст следующий результат:

Вложенные селекторы и медиа запросы

SCSS позволяет писать вложенные селекторы. Это можно проделывать с классами, псевдоэлементами, БЭМ элементами, медиазапросами. Давайте посмотрим на пример с вложенностью:

В CSS получим следующий результат:

Вложенность для псевдо элементов before и after :

Указание родительского селектора при вложенности и символ &

Под символом & подразумевается селектор внутри которого мы работаем. Его можно использовать не только для BEM naming подстановок, но и для цепочек от родительского селектора, например:

Другие базовые возможности SCSS:

Другие базовые возможности можно посмотреть в документации по SCSS.

Примечание. Возможные проблемы и их решения

Если вы сталкиваетесь с тем что Koala отказывается компилировать или следить за изменениями в файлах, проверьте чтобы в пути к вашему проекту не было кириллических символов. Путь к проекту начиная от диска должен быть полностью на латинице, вклбчая и имя пользователя если проект находится на рабочем столе.

Такой вариант не подойдет: C:\Users\Юрий\Desktop\forest-travel
Такой путь будет работать: C:\Users\yurij\Desktop\forest-travel

Если имя пользователя в Windows у вас на кириллице, тогда чтобы не переименовывать его, не создавать нового или не переустанавливать систему, просто размещайте все проекты на каком-либо диске, избегая рабочий стол, например: C:\projects\forest-travel

Источник

SCSS — немного практики, часть I

Как компилировать sass в css. e509c3e7b4204273913a91815076b39e. Как компилировать sass в css фото. Как компилировать sass в css-e509c3e7b4204273913a91815076b39e. картинка Как компилировать sass в css. картинка e509c3e7b4204273913a91815076b39e

Что такое SCSS

SCSS — «диалект» языка SASS. А что такое SASS? SASS это язык похожий на HAML (весьма лаконичный шаблонизатор), но предназначенный для упрощения создания CSS-кода. Проще говоря, SASS это такой язык, код которого специальной ruby-программой транслируется в обычный CSS код. Синтаксис этого языка очень гибок, он учитывает множество мелочей, которые так желанны в CSS. Более того, в нём есть даже логика (@if, each), математика (можно складывать как числа, строки, так и цвета). Возможно, некоторые возможности SCSS покажутся вам избыточными, но, на мой взгляд, лишними они не будут, останутся «про запас».

Отличие SCSS от SASS заключается в том, что SCSS больше похож на обычный CSS код. Пример SASS-кода:

И то же самое на SCSS:

Я выбрал SCSS в виду того, что он проще для восприятия коллегам с ним ещё не знакомым. Ещё стоило бы отметить что обычный CSS код вполне вписывается в SCSS синтаксис.

Установка и использование

—watch

Предположим, что у вас есть следующая структура проекта:

—update

Практика

import

Изначально, до использования SCSS, весь CSS код движка, с которым мне по долгу службы приходится работать, находился в 1-ом огромном style.css файле. Моя IDE (Netbeans (кстати, вот плагин для подсветки синтаксиса)) работала с ним с существенными тормозами. Разбивать же его на множество файлов поменьше, и, при необходимости, склеивать их в 1 ― никто не хотел. SCSS решает этот вопрос автоматически.

Итак, для того, чтобы включить содержимое файла _template.scss или template.scss пишем

@вложенность

Одна из самых желанных «фич» для CSS ― вложенность селекторов. Пример:

$variables

Переменные ― удобная штука. Определяются они так:

Переменные ― не константы, их можно менять по ходу кода 🙂 Одна из первых моих мыслей вылилась в _const.scss файл, который заключает в себе все базовые цвета, размеры шрифтов и пр.

Переменные у нас не типизированные, поэтому с равным успехом могут содержать строки, числа и цвета.

@математика

Разделим математику на 2 категории ― цвета и числа. Начнём с чисел. Простой пример:

При желании можно и padding с border-ом задавать переменными. Всё зависит от сложности вёрстки.

Хочу отметить, что подобного рода манипуляции применяются очень часто. Без них я как без ног.

А теперь цвета. Цвета можно складывать, перемножать:

Довольно удобная штука, когда лень подбирать цвета. Также доступны такие функции как opacify и transparentize (более подробно).

@строки

SASS умеет складывать строки, а также поддерживает конструкцию #<>

Полагаю, что наибольшее применение операциям над строками можно найти в @миксинах и переменных, указывающих пути к изображениям и пр.

Статья

В виду того, что статья получилась довольно объёмной, я решил разбить её на 2 части. В следующей статье я рассмотрю (синтаксис и область применения):

Источник

Это подробное руководство по препроцессору Sass для начинающих. Здесь мы познакомимся с препроцессором Sass, его преимуществами, синтаксисом и рассмотрим возможности использования на примерах.

Как компилировать sass в css. sass cover. Как компилировать sass в css фото. Как компилировать sass в css-sass cover. картинка Как компилировать sass в css. картинка sass cover

Как компилировать sass в css. image j. Как компилировать sass в css фото. Как компилировать sass в css-image j. картинка Как компилировать sass в css. картинка image j

Все примеры и настроенный проект данного урока вы можете Скачать с GitHub

Преимущества Sass

Когда я только знакомился с CSS препроцессорами, мне, как и многим другим начинающим веб-разработчикам, была не до конца понятна сама идея использования CSS препроцессоров. Зачем делать дополнительную прослойку, использовать какие-то инструменты, усложнять CSS, думал я. Но со временем начал понимать, что изо дня в день написание CSS становилось пыткой, серой рутиной, многие действия приходилось повторять, копировать селекторы, свойства и даже целые блоки CSS кода для достижения необходимого результата. Сегодня, на примерах, я покажу вам, как можно упростить работу, используя препроцессор Sass, разнообразить разработку и даже немного поразвлечься при написании каких-то более или менее сложных функций.

Настройка окружения

В качестве окружения для работы с Sass в этом уроке, как и в других наших уроках, мы будем использовать версию Sass для таск-менеджера Gulp (gulp-sass). Для использования оригинальной Ruby версии или компиляции Sass посредством специального ПО, вы можете ознакомиться с инструкциями на оф. сайте. Данный урок носит преимущественно практический характер, поэтому останавливаться на возможных вариантах подключения к проекту не будем, подключим Sass наиболее популярным способом, используя Gulp.

В папке вашего проекта выполните команду npm init и заполните пошагово информацию о вашем новом проекте. Пример, также, есть на странице руководства Gulp.

Как компилировать sass в css. npm init. Как компилировать sass в css фото. Как компилировать sass в css-npm init. картинка Как компилировать sass в css. картинка npm init

Далее установим в проект пакеты gulp, sass и gulp-sass командой:

Далее в папке проекта создадим gulpfile.js следующего содержания:

У вас должна быть следующая структура проекта в вашей файловой системе:

    myproject/

      css/

        common.css

      sass/

        common.sass

      node_modules/gulpfile.jspackage.json

Запускаем выполнение Gulpfile командой gulp в терминале папки проекта.

Здесь мы берем все Sass файлы из директории sass/ вашего проекта и выгружаем готовый CSS результат в папку css/. Кроме того, здесь мы устанавливаем наблюдение watch за изменениями в Sass файлах и автоматическую компиляцию в CSS, если такие изменения имеют место быть. Результирующий css файл подключается в верстку.

Если вам что-то не понятно по настройке Gulp пакетов в данном примере, прочтите руководство Gulp.

После того, как наше окружение настроено и Sass успешно преобразуется в CSS при сохнанении *.sass файлов в директории sass/, можно спокойно продолжать обучение и выполнять примеры, которые мы будем сегодня разбирать, на практике.

Синтаксис Sass

SASS и SCSS синтаксис:

Мы будем использовать синтаксис отступов.

1. Расширение возможностей CSS с помощью Sass

1.1 Правила вложения

Sass дает разработчикам замечательную возможность использовать вложение одних CSS правил в другие, тем самым сокращая время на написание/копирование длинных селекторов и делая код более структурированным, с четкой иерархией.

1.2 Привязка к родительскому селектору

Если вы хотите расширить селектор, не создавая нового правила, вы можете привязать к готовому селектору дополнительные селекторы, используя знак &. Внешне это выглядит как создание дочернего селектора в иерархии, но с использованием &, мы расширяем именно родительский селектор, а не создаем дочерний.

Обратите внимание на правило body.firefox &, которое позволяет нам получить новую цепочку от любого элемента до текущего, если установить в конце &.

Кроме того, привязку к родителю можно использовать для создания составных селекторов:

1.3 Вложенные свойства

Для удобства, вы можете разбивать суффикс пространства имен свойства на вложения. Например, margin-top, margin-bottom, margin-left, margin-right имеют общую основу margin и могут быть разбиты на вложения следующим образом:

1.4 Селекторы-шаблоны

Иногда возникает ситуация, когда несколько элементов на странице используют одинаковую CSS базу, одинаковый набор свойств, характерный только для них. Данные базовые CSS правила можно оформить в виде селектора-шаблона для использования в нескольких местах Sass. Селекторы-шаблоны выводятся посредством директивы @extend.

2. SassScript

SassScript позволяет значително расширить возможности Sass за счет использования пользовательских переменых, арифметических и прочих функций. SassScript может быть использован для автоматической генерации новых селекторов и свойств.

2.1 Переменные в Sass

2.2 Операции с числами и строками + интерполяция

Внимание! Деление в настоящее время следует выполнять функцией math.div(), а не прямым слешем, как будет показано ниже. Например:

Обратите внимание, что для использования функции math.div() необходимо указать в самом начале sass-файла директиву подключения «@use ‘sass:math’». Скачиваем и смотрим примеры из урока.

Кроме того, в Sass есть возможность конкатенировать (соединять) строки.

Обратите также внимание на строки 2 и 9, здесь мы используем интерполяцию для размещения динамических значений в любом месте Sass файла, в том числе и в месте, где у нас идет название свойства, название селектора или в любой строке.

Интерполяция — это получение нового значения, используя другие.

Чаще всего интерполяция в Sass используется для получения нового значения переменной, благодаря «интегрированию» в значение другой переменной, посредством конструкции #<>, например:

Вы не можете просто взять и вставить в строку переменную, без использования интерполяции, как например, это можно сделать в PHP, в двойных кавычках. Обязательно используйте интерполяцию в переменные.

2.3 Операции с цветами

Внимание! Сложение цветов теперь следует выполнять посредством функции color.mix(), а не «+»:

Цвета в Sass можно складывать, вычетать, делить и умножать. Все арифметические операции выполняются для каждого цвета отдельно: красного, зеленого и синего.

Обратите внимание, что при сложении rgba цветов, последний параметр непрозрачности 0.75 не должен отличаться от других в выражении, иначе произойдет ошибка сложения. Вместо этого, можно регулировать альфа-канал rgba, используя opacify и transparentize или управлять непрозрачностью HEX цвета, посредством функции rgba.

3. Директивы и правила

3.1 @import

Вы можете импортировать в ваш Sass файл sass, scss и css файлы с помощью директивы @import, при этом все миксины и переменные будут работать в основном файле, в который происходит импорт.

Для того, чтобы другой файл был полноценно импортирован в основной Sass файл, необходимо, чтобы расширение файла было *.sass, *.scss или *.css.

Давайте рассмотрим некоторые примеры.

Следующие файлы импортированы не будут:

Следующие файлы будут импортированы:

Возможен импорт нескольких файлов, через запятую: @import «header», «media».

Файлы, которые начинаются с нижнего подчеркивания, называются фрагменты и при импорте не требуют указания подчеркивания и расширения. Например, файл _header.sass можно импортировать так: @import «header».

Обратите внимание, что импорт происходит в том месте, где вы указываете директиву @import. Соответственно, есть возможность делать вложенный импорт в том месте, где это необходимо:

3.2 @at-root

Директива @at-root поднимает содержимые в ней правила в корень, отменяя цепочку от родителя. Тут все просто:

Мы рассмотрели не все директивы, которые есть в Sass, а только самые используемые на практике. Если вас интересует более глубокое изучение Sass директив, обратитесь к документации.

4. Выражения

Sass поддерживает использование выражений и функций для различных условий, реализации циклов и т.д.

4.1 Директива @if()

Директива @if() позволяет осуществить выполнение SassScript с определенными условиями и имеет следующий синтаксис:

4.2 Директива @for

@for выводит блок со стилями определенное количество раз. Во время выполнения можно задать переменную-счетчик.

Вы можете указать through вместо to, если требуется пройтись от 1 до 11 включительно, а не только до 10, как в примере.

4.3 Директива @each

Если требуется пройтись по списку значений, а не просто чисел, можно использовать директиву @each:

4.4 Директива @while

@while циклично выводит блоки стилей, пока выражение является true.

5. Миксины

Миксин объявляется директивой @mixin, после объявления должно быть указано имя миксина. Вызывается миксин директивой @include, которая принимает имя миксина и передаваемые аргументы, если такие имеют место быть.

Друзья, мы рассмотрели основные возможности Sass, которых достаточно для плодотворной работы с CSS стилями сайта. Некоторые директивы и возмоности не вошли в данное руководство, но если вам интересно узнать обо всех возможностях Sass, почитайте документацию, будет полезно.

Премиум уроки от WebDesign Master

Как компилировать sass в css. jekyll. Как компилировать sass в css фото. Как компилировать sass в css-jekyll. картинка Как компилировать sass в css. картинка jekyll

Создание сайта от А до Я. Комплексный курс

Как компилировать sass в css. opencart. Как компилировать sass в css фото. Как компилировать sass в css-opencart. картинка Как компилировать sass в css. картинка opencart

Создание современного интернет-магазина от А до Я

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *