stringtranslate.com

Sass (язык таблиц стилей)

Sass (сокращение от «синтаксически потрясающие таблицы стилей ») — это язык сценариев препроцессора , который интерпретируется или компилируется в каскадные таблицы стилей (CSS). SassScript — это сам язык сценариев.

Sass состоит из двух синтаксисов . Исходный синтаксис, называемый «синтаксис с отступом», использует синтаксис, аналогичный Haml . [2] Он использует отступы для разделения блоков кода и символы новой строки для разделения правил. Новый синтаксис SCSS (Sassy CSS) использует форматирование блоков, аналогичное CSS. Он использует фигурные скобки для обозначения блоков кода и точки с запятой для разделения правил внутри блока. Синтаксис с отступом и файлы SCSS традиционно имеют расширения .sass и .scss соответственно.

CSS3 состоит из серии селекторов и псевдоселекторов, которые группируют применимые к ним правила. Sass (в более широком контексте обоих синтаксисов) расширяет CSS, предоставляя несколько механизмов, доступных в более традиционных языках программирования , особенно объектно-ориентированных языках , но недоступных самому CSS3. При интерпретации SassScript создаются блоки правил CSS для различных селекторов, определенных в файле Sass. Интерпретатор Sass переводит SassScript в CSS. Альтернативно, Sass может отслеживать файл .sass или .scss и преобразовывать его в выходной файл .css при каждом сохранении файла .sass или .scss. [3]

Синтаксис с отступом — это метаязык. SCSS — это вложенный метаязык и надмножество CSS, поскольку действительный CSS — это действительный SCSS с той же семантикой .

SassScript предоставляет следующие механизмы: переменные , вложение , миксины и наследование селекторов . [2]

История

Sass был первоначально разработан Хэмптоном Кэтлином и разработан Натали Вайзенбаум. [4] [5] После первых версий Вайзенбаум и Крис Эппштейн продолжили расширять Sass с помощью SassScript, языка сценариев, используемого в файлах Sass.

Основные реализации

SassScript был реализован на нескольких языках, заслуживают внимания следующие реализации:

Функции

Переменные

Sass позволяет определять переменные. Переменные начинаются со знака доллара ( $). Присвоение переменной осуществляется с помощью двоеточия ( :). [16]

SassScript поддерживает четыре типа данных: [16]

Переменные могут быть аргументами или результатами одной из нескольких доступных функций . [17] Во время перевода значения переменных вставляются в выходной CSS-документ. [2]

Вложение

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

Более сложные типы вложения, включая вложение пространств имен и родительские ссылки, обсуждаются в документации Sass. [16]

Петли

Sass позволяет перебирать переменные с помощью и @for, которые можно использовать для применения разных стилей к элементам со схожими классами или идентификаторами.@each@while

Аргументы

Миксины также поддерживают аргументы . [2]

В комбинации

Наследование селектора

Хотя CSS3 поддерживает иерархию объектной модели документа (DOM), он не допускает наследование селекторов. В Sass наследование достигается путем вставки строки внутри блока кода, которая использует ключевое слово @extend и ссылается на другой селектор. Атрибуты расширенного селектора применяются к вызывающему селектору. [2]

Sass поддерживает множественное наследование . [16]

libSass

На конференции разработчиков HTML5 2012 года Хэмптон Кэтлин, создатель Sass, анонсировал версию 1.0 libSass, реализацию Sass на C++ с открытым исходным кодом, разработанную Кэтлином, Аароном Люнгом и командой инженеров Moovweb . [18] [19] Нынешний сопровождающий Sass Крис Эппштейн также выразил намерение внести свой вклад. [20]

По словам Кэтлина, libSass можно «вставить куда угодно, и в нем будет Sass… Сегодня вы можете поместить его прямо в Firefox и собрать Firefox, и он там скомпилируется. Мы написали наш собственный парсер с нуля, чтобы убедитесь, что это возможно». [21]

Цели разработки libSass:

Интеграция с IDE

Смотрите также

Рекомендации

  1. ^ ab "Dart Sass - последний выпуск" . github.com .
  2. ^ abcdef Media Mark (3.2.12). «Sass — синтаксически потрясающие таблицы стилей». Sass-lang.com . Проверено 23 февраля 2014 г.{{cite web}}: CS1 maint: числовые имена: список авторов ( ссылка )
  3. ^ Sass — Потрясающее синтаксическое руководство по таблицам стилей
  4. ^ «Sass: Синтаксически потрясающие таблицы стилей» . sass-lang.com . Архивировано из оригинала 1 сентября 2013 г.
  5. ^ "Блог Натали Вайценбаум" . Архивировано из оригинала 11 октября 2007 г.
  6. ^ abc "Sass / Scss". Друпал.орг. 21 октября 2009 г. Проверено 23 февраля 2014 г.
  7. ^ "дерзость". www.npmjs.com .
  8. ^ "встроенный в дерзость" . www.npmjs.com .
  9. ^ Вайценбаум, Натали. «Жизнь Ruby Sass подошла к концу « Блог Sass» . sass.logdown.com . Проверено 21 апреля 2019 г.
  10. ^ "Sass: Руби Сасс" . sass-lang.com . Проверено 21 апреля 2019 г.
  11. ^ «LibSass устарел» . sass-lang.com . 26 октября 2020 г.
  12. ^ "узел-дерзость". www.npmjs.com .
  13. ^ «jsass — Java-реализация компилятора Sass (и некоторых других вкусностей). — Хостинг проектов Google» . Проверено 23 февраля 2014 г.
  14. ^ "Документация JSass" . jsass.readthedocs.io .
  15. ^ «SassCompiler (API Vaadin 7.0.7)» . Vaadin.com. 06.06.2013. Архивировано из оригинала 21 апреля 2014 г. Проверено 23 февраля 2014 г.
  16. ^ abcde Sass (синтаксически потрясающие таблицы стилей) SASS_REFERENCE
  17. ^ Модуль: Sass::Script::Functions Функции Sass
  18. ^ Х. Кэтлин (15 октября 2012 г.). «6 правил мобильного дизайна Хэмптона». Конференция разработчиков HTML5. Архивировано из оригинала 15 декабря 2021 г. Проверено 11 июля 2013 г.
  19. ^ аб М. Кэтлин (30 апреля 2012 г.). "либсасс". Блог Moovweb. Архивировано из оригинала 8 мая 2013 г. Проверено 11 июля 2013 г.
  20. ^ К. Эппштейн [@chriseppstein] (15 апреля 2013 г.). «Хорошие ресурсы по написанию продакшн-платформы на C++ для x-платформы? Я не программировал с колледжа, но хочу взломать libsass /cc @hcatlin @akhleung» (твит) . Проверено 19 марта 2021 г. - через Twitter .
  21. ^ А. Стаковяк и А. Торп (26 июня 2013 г.). «Sass, libsass, Haml и многое другое с Hampton Catlin». Архивировано из оригинала 6 августа 2013 г. Проверено 30 июля 2013 г.
  22. ^ Д. Ле Нуай (07.06.2013). «Сасск и Бурбон» . Проверено 11 июля 2013 г.
  23. ^ «Совместимость Sass» . sass-compatibility.github.io . Проверено 29 ноября 2019 г.

Внешние ссылки