×
=0) { let js = text.slice(pos1, pos2); + '<\/' + "script" + '>'; arrText.push(js); // next pos1 = pos2; continue; } } } break; } return arrText; } function OpenDialog(parentDiv, urlContent) { parentDiv = document.getElementById('modal-background'); // new !!!!!!! parentDiv.appendChild(document.getElementById('modal-template')); document.getElementById('modal-background').style.display = "block"; document.getElementById('modal-template').style.display = "flex"; // !!!!! document.getElementById('modal-body').innerHTML = ""; post_url(urlContent, "", function(text_from_server) { var element = document.getElementById('modal-body'); element.innerHTML = text_from_server; // add scripts var arrJSText = get_scripts(text_from_server); for (var i=0; i
dir.by
Праздники ...
Праздники ...
День Святого Валентина (14 Февраля)
Концерты, выставки, цирки ...
Концерты, выставки, цирки ...
Мюзикл "Джейн Эйр" г. Минск 4 января, 4 февраля, 1 марта 2026
Афишу
Спорт занятия ...
Спорт занятия ...
Йога (занятия)
Спорт занятие
Компьютеры, игры, программирование
Компьютеры, игры, программирование
Объявления ...
Объявления ...
Строительные услуги по всей Беларуси.
Объявление
Форум (ваши вопросы, обсуждение)
Форум (ваши вопросы, обсуждение)
Поиск
Программирование, разработка, тестирование
→
SCSS файл (с помощью компилятора SASS получаем CSS файл)
→
Что такое SCSS файл ?
Посмотрели
4276
раз(а)
Что такое SCSS файл ?
последнее обновление: 17 июня 2020
Все стили хранятся в
.css
файле.
Когда
.css
файл большой, то становится сложно менять стили в этом файле. Потому что их много.
Чтобы привести стили в порядок, как-то их сгрупировать используется конвертация Sass (препроцессор).
То есть вы создаете
.scss
файл.
В
.scss
файле вы можете использовать:
• переменные
• вложенности
• миксины
• наследование
и другие приятные вещи
Запускаете конвертацию Sass (препроцессор) и ваш
.scss
файл конверитруется в
.css
файл.
На заметку!
scss
часто сравнивают с
less
.
scss
более старый.
less
относительно новый компилятор, ему около 4 лет.
В настоящее время
less
основан на
Javascript
.
Переменные в файле .scss
Чтобы создать переменную нужно использовать символ
$
В переменных Вы можете хранить цвета, стеки шрифтов или любые другие значения.
Файл
my.scss
$font-stack
: Helvetica;
$primary-color
: #333;
body
{
font-family:
$font-stack
;
color:
$primary-color
;
}
Запускаем конвертацию Sass (препроцессор) →
Файл
my.css
body
{
font-family: Helvetica;
color: #333;
}
Переменные с математическими операциями в файле .scss
Файл
my.scss
.button
{
$unit
: 3px;
border:
$unit
solid #ddd;
padding:
$unit * 3
;
margin:
$unit * 2
;
}
.box
{
$base_unit
: 1px;
border:
$base_unit
$base_unit + 1
$base_unit + 2
$base_unit + 3
}
Запускаем конвертацию Sass (препроцессор) →
Файл
my.css
.button
{
border: 3px solid #ddd;
padding: 9px;
margin: 6px;
}
.box
{
border: 1px 2px 3px 4px;
}
Вложенности в файле .scss
Sass
позволит вам вкладывать CSS селекторы таким же образом, как и в визуальной иерархии HTML. Но помните, что чрезмерное количество вложенностей делает ваш документ менее читабельным и воспринимаемым, что считается плохой практикой.
Файл
my.scss
nav
{
ul
{
margin: 0;
padding: 0;
list-style: none;
}
li
{
display: inline-block;
}
a
{
display: block;
padding: 6px 12px;
text-decoration: none;
}
}
Запускаем конвертацию Sass (препроцессор) →
Файл
my.css
nav ul
{
margin: 0;
padding: 0;
list-style: none;
}
nav li
{
display: inline-block;
}
nav a
{
display: block;
padding: 6px 12px;
text-decoration: none;
}
Импорт scss в scss файл
Вы можете создавать фрагменты
Scss
-файла, которые будут содержать в себе небольшие отрывки
CSS
, которые можно будет использовать в других
Sass
-файлах.
Это отличный способ сделать ваш
CSS
модульным, а также облегчить его обслуживание.
Фрагмент — это простой Sass-файл, имя которого начинается с нижнего подчеркивания
, например,
_partial.scss
.
Нижнее подчеркивание
в имени
Scss-файла
говорит компилятору о том, что это только фрагмент и он не должен компилироваться в
CSS
.
Фрагменты Scss
подключаются при помощи директивы
@import
.
Директива
@import
импортирует указанный в директиве файл в тот, где он вызывается, т.е. на выходе получается один
CSS
-файл, скомпилированный из нескольких фрагментов.
Например
, у вас есть несколько фрагментов
Scss
-файлов:
_reset.scss
и
base.scss
Мы хотим импортировать
_reset.scss
в
base.scss
.
Обратите внимание на то, что мы используем
@import 'reset'
; в
base.scss
файле. Когда вы импортируете файл, то не нужно указывать расширение
.scss
.
Sass
— умный язык и он сам догадается.
Файл
_reset.scss
html,
body,
ul,
ol
{
margin: 0;
padding: 0;
}
Файл
base.scss
@import 'reset'
;
body
{
font: 100% Helvetica, sans-serif;
background-color: #efefef;
}
Запускаем конвертацию Sass (препроцессор) →
Файл
base.css
html,
body,
ul,
ol
{
margin: 0;
padding: 0;
}
body
{
font: 100% Helvetica, sans-serif;
background-color: #efefef;
}
Миксины (примеси)
Миксины
позволяют создавать группы деклараций
CSS
, которые вам придется использовать по нескольку раз на сайте.
Вы даже можете передавать
переменные
в
миксины
, чтобы сделать их более гибкими. Так же хорошо использовать миксины для вендорных префиксов.
Пример для transform:
Файл
base.scss
@mixin
transform
($property)
{
-webkit-transform: $property;
-ms-transform: $property;
transform: $property;
}
.box
{
@include
transform
(rotate(30deg));
}
Запускаем конвертацию Sass (препроцессор) →
Файл
base.css
.box
{
-webkit-transform: rotate(30deg);
-ms-transform: rotate(30deg);
transform: rotate(30deg);
}
Расширение/Наследование
Используя директиву
@extend
можно наследовать наборы свойств
CSS
от одного селектора другому. Это позволяет держать ваш
Scss
-файл в «чистоте». В нашем примере мы покажем вам как сделать стили оповещений об ошибках, предупреждениях и удачных исходах, используя другие возможности
Sass
, которые идут рука-об-руку с расширением, классами-шаблонами.
Класс-шаблон
- особый тип классов, который выводится только при использовании расширения - это позволит сохранить ваш скомпилированный
CSS
чистым и аккуратным.
В примере обратите внимание что
%equal-heights
не попадает в
CSS
, так как ни разу не был использован.
Файл
base.scss
// This CSS will print because %message-shared is extended.
%message-shared
{
border: 1px solid #ccc;
padding: 10px;
color: #333;
}
// This CSS won't print because %equal-heights is never extended.
%equal-heights
{
display: flex;
flex-wrap: wrap;
}
.message
{
@extend
%message-shared
;
}
.success
{
@extend
%message-shared
;
border-color: green;
}
.error
{
@extend
%message-shared
;
border-color: red;
}
.warning
{
@extend
%message-shared
;
border-color: yellow;
}
Запускаем конвертацию Sass (препроцессор) →
Файл
base.css
.message, .success, .error, .warning
{
border: 1px solid #ccc;
padding: 10px;
color: #333;
}
.success
{
border-color: green;
}
.error
{
border-color: red;
}
.warning
{
border-color: yellow;
}
Математические операторы
Sass
имеет несколько стандартных математических операторов, таких как
+
, -, *, / и %.
В нашем примере мы совершаем простые математические вычисления для расчета ширины
aside
и
article
.
Мы создали простую адаптивную модульную сетку, с шириной в 960 пикселей. Используя математические операторы, мы использовали полученные данные с пиксельными значениями и конвертировали их в процентные, причем без особых усилий.
Файл
base.scss
.container
{
width: 100%;
}
article[role="main"]
{
float: left;
width: 600px / 960px * 100%;
}
aside[role="complementary"]
{
float: right;
width: 300px / 960px * 100%;
}
Запускаем конвертацию Sass (препроцессор) →
Файл
base.css
.container
{
width: 100%;
}
article[role="main"]
{
float: left;
width: 62.5%;
}
aside[role="complementary"]
{
float: right;
width: 31.25%;
}
Следующая тема →
Конвертируем файл .SCSS в файл .CSS (в командной строке выполним: "sass 1.scss:1.css") | node.js
Ваши Отзывы ... комментарии ...
Вашe имя
Ваш комментарий
(www ссылки может добавлять только залогиненный пользователь)
+ картинку
Экскурсии по Москве: пешеходные, автобусные и речные прогулки на любой вкус
Объявления
Объявления
•
Что такое SCSS файл ?
Вариант 1. Конвертируем файл .SCSS в файл .CSS (вариант очень простой)
•
Конвертируем файл .SCSS в файл .CSS (в командной строке выполним: "sass 1.scss:1.css") | node.js
Вариант 2. Конвертируем файл .SCSS в файл .CSS (используем файл package.json)
•
Конвертируем файл .SCSS в файл .CSS (в командной строке выполним: "npm run EvgenConvertCSS" . EvgenConvertCSS это скрипт конвертирует файл 1.scss в файл 1.css. Скрипт EvgenConvertCSS находится в файле package.json) | npm, node.js
Ваши вопросы присылайте по почте:
info@dir.by