# SASS - синтаксис отступов
$font-stack: Helvetica, sans-serif
$primary-color: #333
body
font: 100% $font-stack
color: $primary-color
# SCSS - синтаксис расширения
$font-stack: Helvetica, sans-serif;
$primary-color: #333;
body {
font: 100% $font-stack;
color: $primary-color;
}
#header
background: #FFFFFF
.error
color: #FF0000
a
text-decoration: none
&:hover
text-decoration: underline
#header {
background: #FFFFFF;
}
#header .error {
color: #FF0000;
}
#header a {
text-decoration: none;
}
#header a:hover {
text-decoration: underline;
}
$number: 1;
$color: #ff0000;
$text: "tproger forever.";
$text: "IT forever." !default;
$nothing: null;
#p {
color: black;
a {
font-weight: bold;
&:hover {
color: red;
}
}
}
#p {color: black;}
#p a {font-weight: bold;}
#p a:hover {color: red;}
@mixin flexible () {
display: flex;
justify-content: center;
align-items: center;
}
.centered-elements {
@include flexible ();
border: 1px solid gray;
}
x==y возвращает true, если x и y равны
x!=y возвращает true, если x и y не равны
x>y возвращает true, если x больше, чем y
x=y возвращает true, если x больше или равно y
x<=y возвращает true, если x меньше или равно y
@mixin spacing($padding, $margin) {
@if ($padding > $margin) {
padding: $padding;
} @else {
padding: $margin;
}
}
.container {
@include spacing(10px, 20px);
}
p {
font: 50px Ari + "al"; // Компилируется в 50px Arial
}
p {
font: "50px" + Arial; // ОШИБКА!
}
p:after {
content: "Верните Линуса " + Торвальдса!; // ОШИБКА!
}
/* Использование функции if() */
if (true, 1px, 2px) => 1px;
if (false, 1px, 2px) => 2px;
/* Использование директивы @if */
p {
@if 1 + 1 == 2 { border: 1px solid; }
@if 7 < 5 { border: 2px dotted; }
@if null { border: 3px double; }
}
@for $i from 1 through 5 {
.definition-#{$i} { width: 10px * $i; }
}
.definition-1 { width: 10px; }
.definition-2 { width: 20px; }
.definition-3 { width: 30px; }
.definition-4 { width: 40px; }
.definition-5 { width: 50px; }
@each $animal in img1, img2, img3, img4 {
.#{$animal}-icon {
background-image: url("/images/#{$animal}.png")
}
}
.platypus-icon {
background-image: url("/images/img1.png");
}
.lion-icon {
background-image: url("/images/img2.png");
}
.sheep-icon {
background-image: url("/images/img3.png");
}
.dove-icon {
background-image: url("/images/img4.png");
}
$index: 5;
@while $index > 0 {
.element-#{$index} { width: 10px * $index; }
$index: $index - 1;
}
.element-5 { width: 50px; }
.element-4 { width: 40px; }
.element-3 { width: 30px; }
.element-2 { width: 20px; }
.element-1 { width: 10px; }
@function three-hundred-px() {
@return 400px;
}
.name {
width: three-hundred-px();
border: 1px solid gray;
display: block;
position: absolute;
}