ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°Ρ | ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ Sass Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅
ΠΠ½ΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΌΠΈΠΊΡΠΈΠ½Ρ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΈΠΊΡΠΈΠ½ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅Π½ΠΈ Π±Π»ΠΎΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ΅Π½ΠΈ. ΠΠ»Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ Sass ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ «ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²» — ΡΡΠΎ ΡΠ°ΠΊΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌΠΈ Π² ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ ΠΌΠΈΠΊΡΠΈΠ½, ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡ ΠΈΡ Π² ΡΠΏΠΈΡΠΎΠΊ. ΠΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠ΅, Π½ΠΎ ΠΏΠΎΡΠ»Π΅ Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠΎΡΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
scss
@mixin box-shadow($shadows. ..) {
-moz-box-shadow: $shadows;
-webkit-box-shadow: $shadows;
box-shadow: $shadows;
}
.shadows {
@include box-shadow(0px 4px 5px #666, 2px 6px 10px #999);
}
@mixin box-shadow($shadows...)
-moz-box-shadow: $shadows
-webkit-box-shadow: $shadows
box-shadow: $shadows
.shadows
@include box-shadow(0px 4px 5px #666, 2px 6px 10px #999)
css
.shadows {
-moz-box-shadow: 0px 4px 5px #666, 2px 6px 10px #999;
-webkit-box-shadow: 0px 4px 5px #666, 2px 6px 10px #999;
box-shadow: 0px 4px 5px #666, 2px 6px 10px #999;
}
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π»ΡΠ±ΡΠ΅ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π² ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ ΠΌΠΈΠΊΡΠΈΠ½. Π Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ
ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΠ½ΠΊΡΠΈΡ keywords($args)
,
ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΡ
ΠΊΠ°ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΈΠΌΡΠ½ (Π±Π΅Π· Π·Π½Π°ΠΊΠ° $
) Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΌΠΈΠΊΡΠΈΠ½Π°Ρ . ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΡ ΠΆΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ°ΠΊ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎ ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈΠ»ΠΈ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΠΊΠ°ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ°ΠΊ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΏΠ°ΡΠ° Π±ΡΠ΄Π΅Ρ ΡΡΠ°ΠΊΡΠΎΠ²Π°Π½Π° ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
@mixin colors($text, $background, $border) {
color: $text;
background-color: $background;
border-color: $border;
}
$values: #ff0000, #00ff00, #0000ff;
.primary {
@include colors($values...);
}
$value-map: (text: #00ff00, background: #0000ff, border: #ff0000);
.secondary {
@include colors($value-map...);
}
@mixin colors($text, $background, $border)
color: $text
background-color: $background
border-color: $border
$values: #ff0000, #00ff00, #0000ff
. primary
@include colors($values...)
$value-map: (text: #00ff00, background: #0000ff, border: #ff0000)
.secondary
@include colors($value-map...)
css
.primary {
color: #ff0000;
background-color: #00ff00;
border-color: #0000ff;
}
.secondary {
color: #00ff00;
background-color: #0000ff;
border-color: #ff0000;
}
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΠΊΠ°ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ
ΠΏΠ΅ΡΠ΅Π΄ ΠΌΠ°ΠΏΠΎΠΌ, ΠΊΠ°ΠΊ Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅: @include colors($values..., $map...)
.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠ½ΡΡΡ ΠΌΠΈΠΊΡΠΈΠ½ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² Π½Π΅Π³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠΈΠ»ΠΈ, Π½Π΅ ΠΌΠ΅Π½ΡΡ ΡΠΈΠ³Π½Π°ΡΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΈΠ½Π°. ΠΡΠ»ΠΈ Π²Ρ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅, ΡΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π±ΡΠ΄ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ Π² ΠΎΠ±ΡΡΠ½ΡΡΡΠΉ ΠΌΠΈΠΊΡΠΈΠ½:
scss
@mixin wrapped-stylish-mixin($args...) {
font-weight: bold;
@include stylish-mixin($args...);
}
.stylish {
@include wrapped-stylish-mixin(#00ff00, $width: 100px);
}
@mixin wrapped-stylish-mixin($args...)
font-weight: bold
@include stylish-mixin($args...)
.stylish
@include wrapped-stylish-mixin(#00ff00, $width: 100px)
Π£ΡΠ΅Π±Π½ΠΈΠΊ LESS.
Π‘ΡΠ°ΡΡΡ «ΠΠΈΠΊΡΠΈΠ½Ρ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ»Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Ρ ΠΠ°ΠΌΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΠΈΠ·ΡΡΠ°ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΈ ΠΈ Π½Π°ΡΡΠΈΠΌΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ (Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ), ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΠ°ΠΌ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ΄Π° ΠΈ ΡΡΠΊΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡ Π²Π΅ΡΡΡΠΊΠΈ Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π·Π° ΡΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΠΠ°ΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ΠΉ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π·Π°Π΄Π°Ρ.
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠΈΠΊΡΠΈΠ½Ρ
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ Π½Π°ΡΡΠΈΠΌΡΡ Ρ ΠΠ°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΈΠΊΡΠΈΠ½Ρ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΠΈΡ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²Π΅ΡΠ°, ΡΠΈΡΠΈΠ½Ρ, Π²ΡΡΠΎΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π½Π°ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ²ΠΎΠΉΡΡΠ². ΠΡΠ»ΠΈ Π²Ρ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² LESS, ΡΠΎ Π΄Π»Ρ ΠΠ°Ρ Π½Π΅ ΡΠΎΡΡΠ°Π²ΠΈΡ ΡΡΡΠ΄Π° ΠΏΠΎΠ½ΡΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π² Π΄Π²ΠΎΠΉΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ (Π΄ΠΎΡΡΡΠΏΠ½Π° Π²Π½ΡΡΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ), ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ (Π²ΡΠ·Π²Π°ΡΡ) Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
. blur(@length) { // ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ -webkit-filter: blur(@length); // ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° filter: blur(@length); // ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° } .my-element { width: 50px; height: 50px; .blur(5px); // Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° }
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°Π΄ΠΈΡΡΠ° ΡΠΈΠ»ΡΡΡΠ° (ΡΡΡΠ΅ΠΊΡΠ°) ΡΠ°Π·ΠΌΡΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ CSS ΡΠ²ΠΎΠΉΡΡΠ²Π° filter. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² ΠΌΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ -webkit-.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
.my-element { width: 50px; height: 50px; -webkit-filter: blur(5px); filter: blur(5px); // ΡΠ°Π΄ΠΈΡΡ ΡΡΡΠ΅ΠΊΡΠ° ΡΠ°Π·ΠΌΡΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ }
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ΠΉ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΡΠ° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:.blur(@length:5px) { // ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°Π²Π½ΠΎΠ΅ 5 ΠΏΠΈΠΊΡΠ΅Π»ΡΠΌ -webkit-filter: blur(@length); // ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° filter: blur(@length); // ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° } .my-element { width: 50px; height: 50px; .blur(); // Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° } .my-another-element { width: 50px; height: 50px; .blur(10px); // Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ c ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ }
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π½Π΅ ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Ρ ΠΊΠ»Π°ΡΡΠΎΠΌ my-element ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 5 ΠΏΠΈΠΊΡΠ΅Π»ΡΠΌ, ΠΏΠΎ ΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅, ΡΡΠΎ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΠΊΠ»Π°ΡΡΠΎΠΌ
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
.my-element { width: 50px; height: 50px; -webkit-filter: blur(5px); filter: blur(5px); // ΡΠ°Π΄ΠΈΡΡ ΡΡΡΠ΅ΠΊΡΠ° ΡΠ°Π·ΠΌΡΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ } .my-another-element { width: 50px; height: 50px; -webkit-filter: blur(10px); filter: blur(10px); // ΡΠ°Π΄ΠΈΡΡ ΡΡΡΠ΅ΠΊΡΠ° ΡΠ°Π·ΠΌΡΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ }
ΠΠΈΠΊΡΠΈΠ½Ρ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π·Π°Π΄Π°Ρ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΠΏΡΠΈΠΌΠ΅ΡΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΠ²ΠΎΠΉΡΡΠ² Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅ΡΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ CSS ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° Π·Π°ΠΏΡΡΠ°Ρ, ΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π² ΠΏΡΠΈΠΌΠ΅ΡΠΈ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π»ΠΈΠ±ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΡΠΊΡ Ρ Π·Π°ΠΏΡΡΠΎΠΉ ΠΏΠΎΡΠ»Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ):
.myMixin(~'10px, 10px') .myMixin(10px, 10px;) // ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΠΈΡ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ, Π»ΠΈΠ±ΠΎ ΡΠΎΡΠΊΡ Ρ Π·Π°ΠΏΡΡΠΎΠΉ. ΠΠ±ΡΠ°ΡΠ°Ρ ΠΠ°ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΡΠΊΡ Ρ Π·Π°ΠΏΡΡΠΎΠΉ, ΡΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠΈΠΌΠ²ΠΎΠ» Π·Π°ΠΏΡΡΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅: ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΠΊΠ°ΠΊ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΡΠΈΠΌΠ΅ΡΠΈ, ΠΈΠ»ΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ CSS ΡΠ²ΠΎΠΉΡΡΠ²Π°.
ΠΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ Π²ΡΠ·ΠΎΠ²Π° ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ΠΉ:
.myMixin(1, 2, 3; something, else) // Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΏΠΈΡΠΎΠΊ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π·Π°ΠΏΡΡΡΠΌΠΈ .myMixin(1, 2, 3) // ΡΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ΄Π½ΠΎ ΡΠΈΡΠ»ΠΎ .myMixin(1, 2, 3;) // ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ (ΡΠΎΡΠΊΠ° Ρ Π·Π°ΠΏΡΡΠΎΠΉ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π°, ΠΈΠ½Π°ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠΈΡΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°) .myMixin(@param1: red, blue;) // ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ .myMixin(@param1: red, blue; @param2: 10, 20;) // Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ Π΄Π²ΡΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π²ΡΡΡΡΠΏΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΡΠ΅ΠΌ Π½Π°ΠΊΠ»ΠΎΠ½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ΅ΠΉ X ΠΈ Y CSS ΡΠ²ΠΎΠΉΡΡΠ²Π° transform:
. skew (@x-angle; @y-angle:0) { // ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ Π΄Π²ΡΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, Π²ΡΠΎΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°Π²Π½ΠΎΠ΅ 0 webkit-transform: skew(@x-angle, @y-angle); moz-transform: skew(@x-angle, @y-angle); ms-transform: skew(@x-angle, @y-angle); -o-transform: skew(@x-angle, @y-angle); transform: skew(@x-angle, @y-angle); } .my-element { width: 50px; height: 50px; .skew(-10deg; 10deg); // Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ c Π΄Π²ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ } .my-another-element { width: 50px; height: 50px; .skew(10deg); // Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ c ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ }
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
.my-element { width: 50px; height: 50px; webkit-transform: skew(-10deg, 10deg); moz-transform: skew(-10deg, 10deg); ms-transform: skew(-10deg, 10deg); -o-transform: skew(-10deg, 10deg); transform: skew(-10deg, 10deg); // Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΡΠ΅ΠΌ Π½Π°ΠΊΠ»ΠΎΠ½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ΅ΠΉ X ΠΈ Y } . my-another-element { width: 50px; height: 50px; webkit-transform: skew(10deg, 0); moz-transform: skew(10deg, 0); ms-transform: skew(10deg, 0); -o-transform: skew(10deg, 0); transform: skew(10deg, 0); // Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΡΠ΅ΠΌ Π½Π°ΠΊΠ»ΠΎΠ½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ΅ΠΉ X ΠΈ Y }
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ΠΉ
ΠΡΠ»ΠΈ Π²Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π½ΠΎ ΡΠ°Π·Π½ΡΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ΠΌ, ΡΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²:
.mixin(@color) { // ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ color: @color; } .mixin(@color; @padding: 2px) { // ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ Π΄Π²ΡΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, Π²ΡΠΎΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°Π²Π½ΠΎΠ΅ 2px color: @color; padding: @padding; } .mixin(@color; @padding; @margin:2px) { // ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ ΡΡΠ΅ΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΡΡΠ΅ΡΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°Π²Π½ΠΎΠ΅ 2px color: @color; padding: @padding; margin: @margin; } .my-element { . mixin(#000); // Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ c ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ } .my-another-element { .mixin(#000; 2px); // Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ Π΄Π²ΡΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ }
ΠΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π°ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ Π΅ΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² (ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²), ΡΡΠΎ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°, Π° Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΡΡΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ LESS ΠΎΠ±Π΄ΡΠΌΠ°Π½Π½ΠΎ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ° ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ°Π±Π»ΠΎΠ½Ρ Π²ΡΠ·ΠΎΠ²Π°, Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΠΈ Π²ΡΠΎΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π° Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ Π²ΡΠ΅ ΡΡΠΈ. ΠΡ Π΅ΡΠ΅ Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎ Π² ΡΡΠΎΠΌ ΡΡΠ΅Π±Π½ΠΈΠΊΠ΅ Π±ΡΠ΄Π΅ΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ΠΉ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΡΡΠ΅ Π½ΡΠ°Π½ΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌΠΈ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
.my-element { color: #000; padding: 2px; } .my-another-element { color: #000; padding: 2px; margin: 2px; }
ΠΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅ΡΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠΈ ΡΠΊΠ°Π·Π°ΡΡ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠ΅Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΡΠΎ Π΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΡΠ»Π°ΡΡΡΡ Π½Π° Π½Π΅Π³ΠΎ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
.myMixin(@color: #fff; @width: 100px; @height: 50px) { // ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ ΡΡΠ΅ΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ color: @color; width: @width; height: @height; } .my-element { .myMixin(@width: 100%; @height: 100%) // Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ Π΄Π²ΡΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ } .my-another-element { .myMixin(#000; @height: 20px) // Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ Π΄Π²ΡΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ }
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ ΡΡΠ΅ΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, Π²ΡΠ΅ ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Ρ ΠΊΠ»Π°ΡΡΠΎΠΌ .my-element ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ Π΄Π²ΡΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΡΠΊΠ°Π·ΡΠ²Π°Ρ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠΈΠ½Ρ, Π° Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΠΎΡΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΈ ΠΈΠΌΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ. ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ Ρ ΠΊΠ»Π°ΡΡΠΎΠΌ .my-another-element ΠΌΡ ΠΏΠΎ ΡΠ°ΠΊΠΎΠΌΡ ΠΆΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Π·Π°Π΄Π°Π΅ΠΌ ΡΠ²Π΅Ρ ΡΠ΅ΠΊΡΡΠ° ΠΈ Π²ΡΡΠΎΡΡ, Π²ΡΠ·ΡΠ²Π°Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ Π΄Π²ΡΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
.my-element { color: #fff; width: 100%; height: 100%; } .my-another-element { color: #000; width: 100px; height: 20px; }
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ @arguments
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ @arguments Π² LESS ΠΈΠΌΠ΅Π΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²Π½ΡΡΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠΌΠ΅ΡΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ, ΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ @arguments Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π² ΠΏΡΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΡ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
.orangeShadow(@h-shadow:0; @v-shadow:0; @blur-radius:3px; @color: orange) { // ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ ΡΡΠ΅ΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ text-shadow: @arguments; } .my-element { .orangeShadow(2px; 3px) // Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ ΡΠ΅ΡΡΡΡΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ } . my-another-element { .orangeShadow(-2px; 3px; @color:red) // Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ ΡΡΠ΅ΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ }
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° text-shadow ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ @arguments, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π² ΠΏΡΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π΄Π²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π° Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΡΠΈ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
.my-element { text-shadow: 2px 3px 3px orange; } .my-another-element { text-shadow: -2px 3px 3px red; }
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ @rest ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ @rest… Π² LESS ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠΎΠ΅ΡΠΎΡΠΈΠ΅ Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ Π²Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΡΠ°Ρ ΡΡΡ Π΅ΡΠ΅ Π±ΡΠ΄ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΡΡ ΡΠ°ΠΌ ΡΠ°ΠΌ ΠΊΠ°ΠΊ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ°Π·Π±Π΅ΡΠΈΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ΅Π±Π΅. Π’ΠΎ Π΅ΡΡΡ ΠΎΠ½ ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π²ΡΠΈΡ ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΎΠ΄Π½ΠΎ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ°Π³ΠΈΡ Π·Π΄Π΅ΡΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π΅ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π° Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠΎΠ΅ΡΠΎΡΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ
.mixin(@color: #000; @shadow...) { // ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ ΡΡΠ΅ΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ color: @color; text-shadow: @shadow; } .my-element { .mixin(red; -2px; 3px; 1px; #777) // Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ ΠΏΡΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ }
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° text-shadow ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ @rest…. ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠΈ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π² Π½Π΅Ρ 5 Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΏΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π΄Π»Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° color, Π° Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ @rest… Π±ΡΠ΄ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° text-shadow.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
.my-element { color: red; text-shadow: -2px 3px 1px #777; }
ΠΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠΎΠ΅ΡΠΎΡΠΈΡ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ ΠΌΠΈΠΊΡΠΈΠ½, Π³Π΄Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π΄Π»Ρ ΡΠ²ΠΎΠΉΡΡΠ² ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ JavaScript, ΠΊ ΡΡΠΎΠΌΡ ΠΌΡ Ρ ΠΠ°ΠΌΠΈ Π΅ΡΠ΅ Π²Π΅ΡΠ½Π΅ΠΌΡΡ Π² Π±ΡΠ΄ΡΡΠΈΡ ΡΡΠ°ΡΡΡΡ . ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
.mixin(...) { // ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΎΡ 0 Π΄ΠΎ N border: @arguments; // ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π²ΡΠ΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ @arguments } .anotherMixin(@color, ...) { // ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΎΡ 1 Π΄ΠΎ N color: @color; border: @arguments; // ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π²ΡΠ΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ @arguments } .my-element { .mixin(1px; solid; green) // Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ ΡΡΠ΅ΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ } .my-another-element { .anotherMixin(red; 1px; solid) // Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ ΡΡΠ΅ΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ }
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π΄Π²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠΈ, ΠΏΠ΅ΡΠ²Π°Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ @arguments ΠΌΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Ρ border.
ΠΡΠΎΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ @color ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° color. ΠΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ, Π±ΡΠ΄ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ @arguments ΡΠ²ΠΎΠΉΡΡΠ²Ρ color.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
.my-element { border: 1px solid green; } .my-another-element { color: red; border: red 1px solid; }
ΠΡ Ρ ΠΠ°ΠΌΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΈΠΌΠ΅ΡΡΠΌΠΈ, Π½ΠΎ ΡΡΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°ΠΌ ΠΌΠ΅ΡΠ°ΡΠ·ΡΠΊ LESS Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌΠΈ, Π΄Π°Π»Π΅Π΅ Π² ΡΡΠ΅Π±Π½ΠΈΠΊΠ΅ ΠΌΡ Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΠΊ ΠΈΡ ΡΠ³Π»ΡΠ±Π»Π΅Π½Π½ΠΎΠΌΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ.
9 Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Mixin Π΄Π»Ρ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠΎΠ² Sass Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Sass Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π²Ρ Π·Π½Π°Π΅ΡΠ΅ Π²Π°ΠΆΠ½ΠΎΡΡΡ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ². ΠΠΎΠ³Π΄Π° Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π΅ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΈ ΡΡΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² CSS, Π²ΠΎΡ Π³Π΄Π΅ ΠΌΠΈΠΊΡΠΈΠ½Ρ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ. ΠΠΈΠΊΡΠΈΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ CSS-ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠΈΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Sass Π² Π²Π°ΡΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ Π²Π΅ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ Π² CSS. ΠΡ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌ Π΄ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ, Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈ ΡΡΡΠ΅ΠΊΡΠΎΠ² ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° β Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΡΡΠΎ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ 11 Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Sass.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΠΎΠ΅ ΡΡΠ΅Π½ΠΈΠ΅: ΠΏΡΠΎΡΡΠΎΠ΅ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Sass
- ΠΡΡΠ±ΠΎΠ½
Π±ΡΡΠ±ΠΎΠ½ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Sass, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠΈΠΊΡΠΈΠ½Ρ, ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ ΡΡΠΈΠ»Π΅ΠΉ Π΄Π»Ρ ΠΊΡΠΎΡΡ-Π±ΡΠ°ΡΠ·Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ»Ρ ΠΌΠ΅Π½Ρ ΡΡΠΎ ΡΠ°ΠΌΡΠΉ ΠΈΠ·ΡΠΌΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΌΠΈΠΊΡΠΈΠ½ Sass. ΠΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ°, ΡΠΎΡ ΡΠ°Π½ΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ Π²Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠΈΠ»Π΅ΠΉ Π»Π΅Π³ΠΊΠΈΠΌ.
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΠΎΠ»Π½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΠΌΠΈΠΊΡΠΈΠ½ ΠΈ ΡΡΠ½ΠΊΡΠΈΡ.
Sass CSS3 Mixins ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΌΠΈΠΊΡΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠ°Π·Π½ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ . ΠΠ΄Π΅ΡΡ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π»ΡΡΡΠΈΡ ΠΌΠΈΠΊΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠΎΠ½, ΡΠ°ΠΌΠΊΠ°, ΡΠ°ΠΌΠΊΠ°, ΡΡΠΎΠ»Π±Π΅Ρ, ΡΡΠΈΡΡ, ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ. ΠΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ Π²Π°ΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ Π² ΡΠΊΠ»Π°Π΄ΠΊΠ΅. Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ css3-mixins.scss ΠΈ Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ mixin Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠ΅ CSS.
Π‘ΠΊΠ°ΡΠ°ΡΡ ΡΡΠΎΡ ΠΌΠΈΠΊΡΠΈΠ½ ΠΠΎΡ,
CssOwl ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΌΠΈΠΊΡΠΈΠ½Ρ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° (ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ³ΠΎ) ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠ΅Π²Π΄ΠΎ-ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° (: after ΠΈ: before). ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°ΠΉΡΠ°: ΠΌΠΈΠΊΡΠΈΠ½ Π΄Π°Π΅Ρ Π³ΠΈΠ±ΠΊΠΎΡΡΡ, ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Π²Π°ΡΠ΅ΠΌ ΡΠΏΡΠ°ΠΉΡΠ΅. Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Sass Π΄ΠΎΡΡΡΠΏΠ½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΡ CssOwl Π΄Π»Ρ LESS ΠΈ Stylus.
4. Π’ΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π° Sass
ΡΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΠΌΠ΅Π΄ΠΈΠ°-Π·Π°ΠΏΡΠΎΡΡ ΡΠ΅ΡΠ΅Π· Sass ΠΏΡΠΎΡΡΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΈΠ»ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΠΈΡΠΈΠ½Ρ ΠΌΠ΅Π΄ΠΈΠ°Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ Π²Π°ΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ Π΅Π΅ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² Sass.
5. Scut
ΠΏΠΎΠ΄Π»ΡΠΉ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π°Π±ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ², Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π΅ΠΉ, ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Sass, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ Π»Π΅Π³ΠΊΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΊΠΎΠ΄Π° ΡΡΠΈΠ»Ρ. ΠΠ½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π΅Π±-ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΌΠ°ΠΊΠ΅ΡΡ ΡΡΡΠ°Π½ΠΈΡ ΠΈ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΈΡΡΠΎΠ². ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠΉ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΅Π³ΠΎ ΡΠ°ΡΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΠΎΠΌΠΎΠ³Π°Ρ Π²Π°ΠΌ ΡΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΌ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅.
6. Π¨Π°ΡΡΠ°Π½
Π‘ Π¨Π°ΡΡΠ°Π½ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Ρ Π»Π΅Π³ΠΊΠΎΡΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Ρ CSS3. ΠΠΎΡΡΡΠΏΠ½Ρ Π΄Π΅ΡΡΡΠΊΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΉ ΠΈ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΎΠ², Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ / ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅, ΡΠΊΠΎΠ»ΡΠΆΠ΅Π½ΠΈΠ΅ / ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅, ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ / ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²ΡΡΡΡΡ
ΠΈΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΠ΅, ΠΎΡΡΠΊΠΎΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅. Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Saffron, ΠΏΡΠΎΡΡΠΎ Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΌΠΈΠΊΡΠΈΠ½ Π² ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Sass ΠΈ Π½Π°Π·ΠΎΠ²ΠΈΡΠ΅ ΠΈΠΌΡ ΡΡΡΠ΅ΠΊΡΠ° Π²Π½ΡΡΡΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° CSS. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Saffron, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Bower ΠΈΠ»ΠΈ Gem, ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π΅Π³ΠΎ Π²ΡΡΡΠ½ΡΡ Ρ Github.
7. ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΈΠΏΠ°
TypeSettings ΡΠΈΠΏ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ Sass. ΠΠ½ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠΈΡΡΠ° Π² ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠΌ ΠΌΠ°ΡΡΡΠ°Π±Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ em (Π²ΠΌΠ΅ΡΡΠΎ rems ΠΈΠ»ΠΈ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ), Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΡΠΌ ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Ρ ΡΡΠ΅ΡΠΎΠΌ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠΎΡ Ρ Bower, ΡΠΊΠ°ΡΠ°ΡΡ ΡΠ΅Π»ΠΈΠ·ΠΈΠ»ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎ. ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π΅Π³ΠΎ ΡΡΡΠ°Π½ΠΈΡΠ°,
Π§ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΊΠΆΠ΅: Π²Π·Π³Π»ΡΠ΄ Π² CSS-Π΅Π΄ΠΈΠ½ΠΈΡΡ β ΠΏΠΈΠΊΡΠ΅Π»ΠΈ, EM, ΠΏΡΠΎΡΠ΅Π½Ρ
8. Sass Line
Sass Line ΡΡΠΎ ΠΌΠΈΠΊΡΠΈΠ½ Sass, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΡΠ»ΡΡΡΠΈΡΡ ΡΠΈΠΏΠΎΠ³ΡΠ°ΡΠΈΠΊΡ. ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ rems unit Π² Π²Π°ΡΠ΅ΠΌ ΡΡΠΈΡΡΠ΅, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠΌ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΎΡ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠ΅ΡΠΊΠΈ. Sass Line ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΡΠ½ΡΠΉ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΡΠΌ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠ΅ΡΠΊΠ΅, ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ ΡΠΊΠ°Π»Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π²Π°ΡΠΈΡ
ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ
ΠΎΡΠΎΡΠΈΠ΅ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΈ Π²ΠΎ Π²ΡΠ΅Ρ
Π°ΡΠΏΠ΅ΠΊΡΠ°Ρ
Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ°.
ΠΠ΄ΡΠΈ ΠΠΎΡ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
9. Andy.scss
Andy.scss ΡΡΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
ΠΌΠΈΠΊΡΠΎΠ² Sass, ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ Ρ Π»Π΅Π³ΠΊΠΎΡΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ Π²Π΅Π±-ΡΠ°ΠΉΡΠ° ΠΈ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π΅Π³ΠΎ Π»Π΅Π³ΠΊΠΈΠΌ. ΠΠΎΡΡΡΠΏΠ½Ρ Π΄Π΅ΡΡΡΠΊΠΈ ΠΌΠΈΠΊΡΠΎΠ² Sass, ΠΎΡ ΡΠΎΠ½ΠΎΠ² Π΄ΠΎ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ. ΠΠΎΡΡΠΈ Π²ΡΠ΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° CSS ΠΎΠΏΠΈΡΠ°Π½Ρ Π·Π΄Π΅ΡΡ. ΠΠΎΠ»ΡΡΠΈΡΠ΅ ΡΡΠΎ Π² Github,
ΠΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π° Sass:
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ SASS Π΄Π»Ρ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΡ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ²
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠ°ΡΡΠΈ: The Absolute Beginnerβs Guide to Sass.
ΠΠ²ΡΠΎΡ: Andrew Chalkley.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ SASS?
SASS ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠΎΠΉ ΠΎΡ Syntactically Awesome Stylesheets β ΠΌΠ΅ΡΠ°ΡΠ·ΡΠΊ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ CSS, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΠΊΠ°ΠΊ Β«CSS c ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄Π½ΡΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌΒ», ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ Π₯Π΅ΠΌΠΏΡΠΎΠ½ΠΎΠΌ ΠΡΡΠ»ΠΈΠ½ΠΎΠΌ (Hampton Catlin).
ΠΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ CSS ΡΡΠΈΠ»Π΅ΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΌ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ Π·Π°Π΄Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°.
ΠΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π»ΠΈ Π²Π°ΠΌ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ, ΡΠ³ΠΎΠΆΠ΄Π°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ Π½Π΅ΡΠ΅ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ, Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠΌ Π²ΡΠ΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΡΠΈΠ»Π΅ΠΉ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΎΡΡΡΠΊΠ°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ HEX-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ° Ρ ΡΠ΅Π»ΡΡ Π΅Π³ΠΎ Π·Π°ΠΌΠ΅Π½Ρ Π½Π° Π΄ΡΡΠ³ΠΎΠ΅? ΠΠ»ΠΈ ΠΆΠ΅ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅ΠΌΡΡΡ ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ-ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΡΠΈΡΠ°ΡΡ ΡΠΈΡΠΈΠ½Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΊΠΎΠ»ΠΎΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°?
Π ΡΠ°ΡΠΏΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ SASS ΠΈΠΌΠ΅ΡΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·Π±Π°Π²ΡΡ Π²Π°Ρ ΠΎΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΡΡΠΈΠ½Ρ. Π Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ½Π΅ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΌΠΈΠΊΡΠΈΠ½Ρ, Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΡ ΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ².
Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, ΠΊΠΎΠ΄ SASS ΠΏΠΎΡ ΠΎΠΆ Π½Π° CSS, Π½ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΎΡΠ»ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΡΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠ°Π·Ρ ΠΆΠ΅ Π±ΡΠΎΡΠ°Π΅ΡΡΡ Π² Π³Π»Π°Π·Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠΎΡΠΊΠΈ Ρ Π·Π°ΠΏΡΡΠΎΠΉ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ CSS ΠΊΠΎΠ΄Π°:
#skyscraper_ad{
display: block;
width: 120px;
height: 600px;
}
#leaderboard_ad
{
display: block;
width: 728px;
height: 90px;
}
ΠΠΎΡΠΎΡΡΠΉ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½ Π²ΠΎΡ ΡΠ°ΠΊΠΎΠΌΡ SASS:
#skyscraper_addisplay: block
width: 120px
height: 600px
#leaderboard_ad
display: block
width: 728px
height: 90px
Π SASS Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» (ΠΎΡΡΡΡΠΏ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ) ΡΠ°Π²Π½ΡΠΉ Π΄Π²ΡΠΌ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌ. ()
Π’Π΅ΠΏΠ΅ΡΡ, ΠΈΠΌΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ SASS ΠΊΠΎΠ΄, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄Π½ΡΠΌ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅.
Π SASS Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π΅Π΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ» Π΄ΠΎΠ»Π»Π°ΡΠ° $. Π Π΅ΡΠ»ΠΈ ΠΈΠΌΡ Π²Π°ΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π΄ΠΎΠΏΡΡΡΠΈΠΌ, red, ΡΠΎ ΠΏΠΎΡΠ»Π΅ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ Π΅ΠΉ Π²ΠΎΡ ΡΠ°ΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:
$red: #FF4848
Π SASS ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° darken ΠΈ lighten, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
Π’Π°ΠΊ, Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ²Π΅Ρ ΡΡΠΈΡΡΠ° Π² ΠΏΠ°ΡΠ°Π³ΡΠ°ΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΠΆΠ΅ ΠΊΡΠ°ΡΠ½ΡΠΌ, Π½ΠΎ ΡΠ΅ΠΌΠ½Π΅Π΅, ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² h2 Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ :
$red: #FF4848$fontsize: 12px
h2
color: $red
p
color: darken($red, 10%)
Π‘ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅, ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ . ΠΡΠ»ΠΈ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌΠ½ΡΠΉ ΠΎΡΡΠ΅Π½ΠΎΠΊ, ΡΠΎ Π²ΡΠ΅ ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎ Π²ΡΡΠ΅ΡΡΡ ΠΈΠ· ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² ΠΊΠΎΠ΄Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²Π΅ΡΠ°, Ρ ΡΠ°Π½ΡΡΠ΅Π³ΠΎΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠ΅ HEX-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ°Π²Π½ΠΎΠ΅, ΡΠΊΠ°ΠΆΠ΅ΠΌ, #101. ΠΡΠΎ ΠΆΠ΅ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΈ ΡΠ»ΡΡΠ°Ρ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΡΠΈΡΡΠ°, Π΄ΠΎΠΏΡΡΡΠΈΠΌ, ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π½Π° 10 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΈΠ΅ ΠΏΠΈΠΊΡΠ΅Π»ΠΈ:
p.addition_and_subtraction
color: $red β #101
font-size: $fontsize + 10px
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΡ.
Π SASS Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΡ Π±ΡΠ²Π°Π΅Ρ Π΄Π²ΡΡ ΡΠΈΠΏΠΎΠ².
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ².
ΠΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΈΠΏ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡ ΠΎΠΆ Ρ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ HTML ΠΊΠΎΠ΄Π°:
$fontsize: 12px.speaker
.name
font:
weight: bold
size: $fontsize + 10px
.position
font:
size: $fontsize
ΠΡΠ»ΠΈ Π²Ρ Π²Π·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ CSS ΠΊΠΎΠ΄, ΡΠΎ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π±ΡΠ΄ΡΡ ΠΈΠ·Π»ΠΈΡΠ½ΠΈ. ΠΡΡΠ΅ΠΌ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ ΠΊΠ»Π°ΡΡΠ° .name Π² ΠΊΠ»Π°ΡΡ .speaker () ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ CSS ΡΠ΅Π»Π΅ΠΊΡΠΎΡ .speaker.name. ΠΡΠΎ ΠΆΠ΅ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»Π°ΡΡΠ° .position, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠ»Π΅ Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ°, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π²ΡΠΎΡΠΎΠΉ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ .speaker.position:
.speaker.name {
font-weight: bold;
font-size: 22px; }
.speaker.position {
font-size: 12px; }
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ².
ΠΡΠΎΡΠΎΠΉ ΡΠΈΠΏ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ ():
$fontsize: 12px.speaker
.name
font:
weight: bold
size: $fontsize + 10px
.position
font:
size: $fontsize
Π ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ, ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° font: ΠΈ Π΄Π°Π»Π΅Π΅ Π½Π° Π½ΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΏΠΎΡΠ»Π΅ Π΄Π²ΡΡ ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΡΡΡΠΏΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π²ΡΠΎΡΡΡ ΡΠ°ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΡΠ»Π΅ Π΄Π΅ΡΠΈΡΠ°.
Π’ΠΎ Π΅ΡΡΡ Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠΊΠ°ΠΆΠ΅ΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ font:, Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΏΠΎΡΠ»Π΅ Π΄Π²ΡΡ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ² ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ weight:, ΡΠΎ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΎ Π·Π½Π°ΠΊΠΎΠΌΠΎΠΌΡ Π½Π°ΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Ρ font-weight.
.speaker.name {
font-weight: bold;
font-size: 22px; }
.speaker.position {
font-size: 12px; }
Π ΠΌΠΎΠ΄ΡΠ»Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΡΠ΅Ρ Π΄Π΅ΡΠΈΡ-ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ².
Π’Π°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄Π° Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ CSS ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π΅Π³ΠΎ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ. ().
ΠΠΈΠΊΡΠΈΠ½Ρ.
ΠΡΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ SASS ΡΠ²Π»ΡΡΡΡΡ ΠΌΠΈΠΊΡΠΈΠ½Ρ.
ΠΠΈΠΊΡΠΈΠ½Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²Π°ΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ SASS ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄Π°ΠΆΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΈΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ. Π ΡΡΠΎ Π½Π΅ΠΌΠ°Π»ΠΎΠ²Π°ΠΆΠ½ΠΎ, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΌΠΈΠΊΡΠΈΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π² SASS ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ @mixin, Π° ΠΏΠΎΡΠ»Π΅ Π½Π΅Π³ΠΎ ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ΅ Π²Π°ΠΌΠΈ ΠΈΠΌΡ ΠΌΠΈΠΊΡΠΈΠ½Π°. ΠΡΠ»ΠΈ Π΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°Ρ , ΡΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅ ΠΈΡ Π² ΠΊΡΡΠ³Π»ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ . ΠΠ½Π°ΡΠ΅Π½ΠΈΡ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π΄Π»Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΌΠΈΠΊΡΠΈΠ½Π° ΡΠ΅ΡΠ΅Π· Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅. ()
ΠΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ² ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠ° β ΠΏΠΎΡΠ»Π΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° @include ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈΠΌΡ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΈΠ½Π° ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ²ΡΠ΅ ΠΈΠΌΠ΅ΡΡΡΡ.
ΠΠ·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
@mixin border-radius($amount: 5px) /* ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΌΠΈΠΊΡΠΈΠ½ */-moz-border-radius: $amount
-webkit-border-radius: $amount
border-radius: $amount
h2 /* ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠΈΠΊΡΠΈΠ½ */
@include border-radius(2px)
.speaker
@include border-radius
ΠΡΠΎΡ SASS ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ CSS ΠΊΠΎΠ΄:
h2 {-moz-border-radius: 2px;
-webkit-border-radius: 2px;
border-radius: 2x; }
.speaker {
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px; }
ΠΠ»Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° h2 ΠΌΡ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π΄ΠΈΡΡΠ° Π·Π°ΠΊΡΡΠ³Π»Π΅Π½ΠΈΡ ΡΠ³Π»ΠΎΠ² Π³ΡΠ°Π½ΠΈΡΡ, Π½ΠΎ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠ»Π°ΡΡΠ° .speaker ΠΌΡ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π»ΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π±ΡΠ»ΠΎ Π²Π·ΡΡΠΎ Π΄Π΅ΡΠΎΠ»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 5px.
ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ².
ΠΡΡΠ³ΠΎΠΉ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ SASS ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ² Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΡΠΈΠ»ΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ². Π§ΡΠΎΠ±Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ°ΠΊΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ @extend, ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ, Π²ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ:
h2border: 4px solid #ff9aa9
.speaker
@extend h2
border-width: 2px
Π§ΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΎ Π²:
h2,.speaker {border: 4px solid #ff9aa9; }
.speaker {
border-width: 2px; }
()
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ SASS Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ.
ΠΠ½Π»Π°ΠΉΠ½.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ SASS ΠΎΠ½Π»Π°ΠΉΠ½ Π±Π΅Π· ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Π½Π° ΡΠ²ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ.
ΠΠΎ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ Π½Π°ΡΠ½Π΅ΡΠ΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΡΡΠ°Π½ΠΈΡΡ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΎΠΏΡΠΈΡ Β«Indented SyntaxΒ».
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠ² Π½Π° ΠΠ.
Π‘Π°ΠΌ SASS ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ (gem) ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Ruby. ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ Π΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±Π΅Π· ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ ΡΠ°ΠΌΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ RubyGems Π½Π΅ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ. ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ°ΠΌΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
gem install sass
SASS ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π°ΡΠΈΡ SASS ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠ°ΠΉΠ»Ρ CSS ΡΠΎΡΠΌΠ°ΡΠ° Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΠ΄Π΅Π»Π°ΡΡ, Π²Π²Π΅Π΄Ρ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
sass ββwatch sass_folder:stylesheets_folder
ΠΠ΄Π΅ sass_folder β ΡΡΠΎ ΠΏΡΡΡ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ SASS ΡΠ°ΠΉΠ»Ρ (ΡΠΎ Π΅ΡΡΡ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ.sass), Π° stylesheets_folder β ΠΏΡΡΡ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄ΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡΠΈΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠ΅ CSS ΡΠ°ΠΉΠ»Ρ. ΠΠΎΠΌΠ°Π½Π΄Π° ββwatch ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ, ΡΡΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ»Π΅Π΄ΠΈΡΡ (watch) Π·Π° Π»ΡΠ±ΡΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΠΈ Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ²ΡΠ΅ ΠΈΠΌΠ΅ΡΡΡΡ, ΡΠΎ ΠΏΠΎΡΠ»Π΅ ΠΈΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅.sass ΡΠ°ΠΉΠ»Ρ Π² ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΠ΅ ΠΈΠΌ.css ΡΠ°ΠΉΠ»Ρ.
ΠΠ±ΡΠ°ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ CSS Π² SASS.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ SASS Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΠ΅ΡΠ΅ ΡΡΠΈΠ»ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² ΡΠ²ΠΎΠΈΡ ΡΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ Π² ΡΡΠΎΡ ΡΠΎΡΠΌΠ°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΠ»ΠΈΡΡ «sass-convert».
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π²Π΅Π΄ΠΈΡΠ΅ ΠΏΡΡΡ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ (). ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠΏΠΎΠΌΡΠ½ΡΡΡΡ Π²ΡΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ ΠΈ ΡΠΎΠΎΠ±ΡΠΈΡΠ΅ Π΅ΠΉ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
sass-convert ββfrom css ββto sass βR.
ΠΠ΄Π΅ ΡΠ»Π°Π³ -R Π·Π°Π΄Π°Π΅Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. Π ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ Π·Π° Π½ΠΈΠΌ ΡΠΎΡΠΊΠ° . ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΡΠ΅ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΠΈ.sass ΡΠ°ΠΉΠ»Ρ Π±ΡΠ΄ΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ. ()
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ Sassy CSS (SCSS).
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ Π·Π°ΡΡΠΎΠ½ΡΠ» ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ, ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ β SASS Indented Syntax. () ΠΠΎ ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Π°Ρ Π΅Π³ΠΎ Π²Π΅ΡΡΠΈΡ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠ°Ρ SCSS ΠΈΠ»ΠΈ Sassy CSS (). Π Π°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΡΠΈΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Sassy CSS ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ ΠΊ CSS, ΡΠ²Π»ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠ²ΡΡΠ½ΡΠΌ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π½ΠΎ Π² ΡΠΎΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ½ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π²ΡΠ΅ΠΌΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ Π΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ SASS β Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ², Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ². Π€Π°ΠΊΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΡ ΠΎΠ΄ΡΡΠ²Π° ΠΈ ΠΎΡΡΠ°ΠΆΠ΅Π½ Π² Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠΈ Β«SassyΒ» ().
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
SASS Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Ρ ΠΎΡΠΎΡΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠΉ, DRY ΠΊΠΎΠ΄. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡ Compass, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ, Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΡΡΠΈΡΡΡΡΠ΅ΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ SASS Π·Π° ΡΡΠ΅Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π΄ΡΡΠ³ΠΈΡ CSS ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ². Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Β«Π·Π°ΡΠΎΡΠ΅Π½ΠΈΡΒ» Π²Π°ΡΠ΅Π³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ HTML ΠΊΠΎΠ΄Π° Π½Π΅ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ.
Π’Π°ΠΊ ΡΠ΅Π³ΠΎ ΠΆΠ΅ Π²Ρ ΠΆΠ΄Π΅ΡΠ΅? ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ SASS ΡΠΆΠ΅ Π½Π°ΡΠΈΠ½Π°Ρ ΡΠΎ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°!
Post Views: 1Β 407
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ @include ΠΏΡΠΎΡΠΈΠ² @extend Π² Sass?
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ, Π½ΠΎ ΠΎΠ½ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ CSS.
%button
background-color: lightgrey
&:hover, &:active
background-color: white
a
@extend %button
button
@extend %button
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
a, button {
background-color: lightgrey;
}
a:hover, button:hover, a:active, button:active {
background-color: white;
}
Π‘ ΠΌΠΈΠΊΡΠΈΠ½Π°ΠΌΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ CSS, Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
=button($main-color: lightgrey, $active-color: white)
background-color: $main-color
border: 1px solid black
border-radius: 0.2em
&:hover, &:active
background-color: $active-color
a
+button
button
+button(pink, red)
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²:
a {
background-color: lightgrey;
border: 1px solid black;
border-radius: 0.2em;
}
a:hover, a:active {
background-color: white;
}
button {
background-color: pink;
border: 1px solid black;
border-radius: 0.2em;
}
button:hover, button:active {
background-color: red;
}
Π‘Π»Π΅Π΄ΡΠΉΡΠ΅ ΡΡΠΎΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌΡ Π½Π°Π±ΠΎΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΊΠΎΠ΄Π°, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΡΡΠΌ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠΌ Π² ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ²: http://thecodingdesigner.com/posts/balancing
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ SASS, ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π²Π½ΡΡΡΠΈ ΠΌΠ΅Π΄ΠΈΠ°-Π·Π°ΠΏΡΠΎΡΠΎΠ² (ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ· ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²ΡΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π΅Π²Π΅ΡΠ΅Π½). Π ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠ΅Π΄ΠΈΠ°-Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠΈΠΊΡΠΈΠ½:
=active
display: block
background-color: pink
%active
+active
#main-menu
@extend %active // Active by default
#secondary-menu
@media (min-width: 20em)
+active // Active only on wide screens
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
#main-menu {
display: block;
background-color: pink;
}
@media (min-width: 20em) {
#secondary-menu {
display: block;
background-color: pink;
}
}
ΠΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π½ΠΎ Π²Π°ΠΌ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΎΠ±ΠΎ Π·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎΠ± ΡΡΠΎΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΆΠ°ΡΠΈΠ΅ gzip Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡ ΠΎΠ± ΡΡΠΎΠΌ.
PS ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΠΊΠ»Π°ΡΡΡ-Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΠΈ Π² ΠΌΠ΅Π΄ΠΈΠ°-Π·Π°ΠΏΡΠΎΡΠ°Ρ .
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ 2014-12-28 : Extends ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΉ CSS, ΡΠ΅ΠΌ ΠΌΠΈΠΊΡΠΈΠ½Ρ , Π½ΠΎ ΡΡΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠΆΠ°ΡΠΈΠΈ CSS Ρ ΠΏΠΎΠΌΠΎΡΡΡ gzip. ΠΡΠ»ΠΈ Π²Π°Ρ ΡΠ΅ΡΠ²Π΅Ρ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΆΠ°ΡΡΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ gzip CSS (ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ!), Π’ΠΎΠ³Π΄Π° extends ΠΏΠΎΡΡΠΈ Π½Π΅ ΠΏΡΠΈΠ½Π΅ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΠΎΠ»ΡΠ·Ρ. Π’Π°ΠΊ ΡΡΠΎ Π²Ρ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΈΠΊΡΠΈΠ½Ρ ! ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΡΡΠΎΠΌ Π·Π΄Π΅ΡΡ: http://www.sitepoint.com/sass-extend-nobody-told-you/
ΠΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Less: Mixins
Π‘ΠΌΠ΅ΡΠ°ΡΡ β¦ ΡΡΠΎ?
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Less ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ Β«ΠΌΠΈΠΊΡΠΈΠ½ΡΒ», ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡ ΠΎΠ΄ΡΡΠ²Π° Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π² ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π Less ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ CSS Π² ΡΠ΄ΠΎΠ±Π½ΡΡ , ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΊΠ»Π°ΡΡΠ°Ρ . ΠΠΈΠΊΡΠΈΠ½Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²ΡΡΡΠΎΠΈΡΡ Π²ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΊΠ»Π°ΡΡΠ° Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠ»Π°ΡΡ, ΠΏΡΠΎΡΡΠΎ Π²ΠΊΠ»ΡΡΠΈΠ² ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ². ΠΡΠΎ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π½ΠΎ Π΄Π»Ρ ΡΠ΅Π»ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΡΠ±ΠΎΠΉ ΠΊΠ»Π°ΡΡ CSS ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ» ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΌΠ΅ΡΠ°Π½Ρ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
.round-borders {
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
}
#menu {
color: gray;
.round-borders;
}
.round-borders {
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
}
#menu {
color: gray;
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
}
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎΡ Π²ΡΠ²ΠΎΠ΄ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ°ΠΌ ΠΌΠΈΠΊΡΠΈΠ½ ΠΈ Π½Π°Π±ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ» CSS. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ
ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΌΠΈΠΊΡΠΈΠ½Ρ ΠΏΠΎΡΠ²Π»ΡΠ»ΠΈΡΡ Π² Π²Π°ΡΠ΅ΠΌ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ .css
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄ΠΈΠ²ΠΈΡΡΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π·Π°Π³Π»Π°Π²Π½ΡΠ΅ Π±ΡΠΊΠ²Ρ Π² Π½Π°Π·Π²Π°Π½ΠΈΡΡ
ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ². ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ CSS-ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠΎΡΠΊΠΈ, ΠΈ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° ΠΎΡΠ»ΠΈΡΠΈΡΡ Π΅Π³ΠΎ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠΈΠΊΡΠΈΠ½Π° Less. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π·Π°Π³Π»Π°Π²Π½ΡΠ΅ Π±ΡΠΊΠ²Ρ, ΠΊΠ°ΠΊ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π·Π°Π³Π»Π°Π²Π½ΡΠ΅ Π±ΡΠΊΠ²Ρ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π²Π΅Π΄ΠΈΡΠ΅ Π²Π°ΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ
ΠΠΈΠΊΡΠΈΠ½Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ, ΡΠΎ Π΅ΡΡΡ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΡΡΠΈ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠΈΠΊΡΠΈΠ½ ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΏΠΎΡΠ²ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΡΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΠΈ Π² Π΄ΡΡΠ³ΠΎΠΉ Π±Π»ΠΎΠΊ. ΠΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΈΠ½Π° Ρ Π·Π°ΠΊΡΡΠ³Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠ³Π»Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠ°Π·Π½ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ :
.round-borders (@radius) {
border-radius: @radius;
-moz-border-radius: @radius;
-webkit-border-radius: @radius;
}
Π Π²ΠΎΡ ΠΊΠ°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΌΠ΅ΡΠ°ΡΡ Π΅Π³ΠΎ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π½Π°Π±ΠΎΡΡ ΠΏΡΠ°Π²ΠΈΠ»:
header {
.round-borders(4px);
}
.button {
.round-borders(6px);
}
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠΈΠΊΡΠΈΠ½Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²:
.round-borders (@radius: 5px) {
border-radius: @radius;
-moz-border-radius: @radius;
-webkit-border-radius: @radius;
}
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠΎ ΡΠ°ΠΊ:
header {
.round-borders;
}
Π ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ 5-ΠΏΠΈΠΊΡΠ΅Π»ΡΠ½ΡΠΉ border-radius
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΌΠΈΠΊΡΠΈΠ½, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π½ΠΎ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π»ΡΡ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ Π²ΡΠ²ΠΎΠ΄Π΅, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡΠ΅ Π΅ΠΌΡ ΠΏΡΡΡΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²:
.hiddenMixin() {
color: black;
}
p {
.hiddenMixin()
}
Π§ΡΠΎ Π±Ρ Π²ΡΠ²Π΅ΡΡΠΈ:
p {
color: black;
}
Π ΠΌΠΈΠΊΡΠΈΠ½Π΅ Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ @arguments
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠΌΠ΅Π΅Ρ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ. ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²:
.box-shadow(@x: 0, @y: 0, @blur: 1px, @color: #000) {
box-shadow: @arguments;
-moz-box-shadow: @arguments;
-webkit-box-shadow: @arguments;
}
.box-shadow(2px, 5px);
Π§ΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ:
box-shadow: 2px 5px 1px #000;
-moz-box-shadow: 2px 5px 1px #000;
-webkit-box-shadow: 2px 5px 1px #000;
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ²Π°ΡΠΎΠ²ΡΡΠ²Π° π
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΌΠΈΠΊΡΠΈΡΡΠ΅ΡΠ΅ ΠΌΠΈΠΊΡΠΈΠ½, Π²ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΌΠΈΠΊΡΠΈΠ½Ρ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠ΅ΠΌ, ΡΡΠΎ Π±ΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎ Π² ΠΌΠΈΠΊΡΠΈΠ½ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΎ.
ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ β ΡΡΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π°ΡΠ½ΠΎΡΡΠΈ (ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΌΠΈΠΊΡΠΈΠ½). ΠΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΌΠΈΠΊΡΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΠΈΡΠ»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ² Ρ Π½ΡΠ»Π΅Π²ΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ΅Π³Π΄Π° Π²ΠΊΠ»ΡΡΠ΅Π½Ρ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ:
.mixin() {
background-color: white;
}
.mixin(@a) {
color: @a;
}
.mixin(@a, @b) {
color: fade(@a, @b);
}
Π’Π΅ΠΏΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΠΌΡ Π²ΡΠ·ΠΎΠ²Π΅ΠΌ .mixin
@a
@b
ΠΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΠΌΠΈΠΊΡΠΈΠ½Π° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΌΠΈΠΊΡΠΈΠ½Π°:
.mixin (dark, @color) {
color: darken(@color, 10%);
}
.mixin (light, @color) {
color: lighten(@color, 10%);
}
.mixin (@_, @color) {
display: block;
}
@switch: light;
.class {
.mixin(@switch, #888);
}
ΠΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ CSS:
.class {
color: #a2a2a2;
display: block;
}
Π’Π°ΠΌ, Π³Π΄Π΅ ΡΠ²Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΠ΅Π» Π½Π° .mixin
ΠΡΠ»ΠΈ Π±Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ @switch
ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΈ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΊ Π»ΡΠ±ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π° Π²ΡΠ΅, ΠΊΡΠΎΠΌΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠ°Π²Π½ΠΎΠΌΡ ΡΠ΅Π±Π΅.
Π³Π²Π°ΡΠ΄ΠΈΡ
ΠΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΠΈΠΊΡΠΈΠ½ ΡΠΌΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ, β ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡ ΡΠ°Π½Ρ. Guard β ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ mixin, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° mixin. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΈΠΊΡΠΈΠ½, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true. ΠΡ ΡΠ°Π½Π½ΠΈΠΊΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΡΠΎΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π°ΡΠ½ΠΎΡΡΠΈ.
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ when
.mixin (@a) when (lightness(@a) >= 50%) {
background-color: black;
}
.mixin (@a) when (lightness(@a) < 50%) {
background-color: white;
}
.mixin (@a) {
color: @a;
}
.class1 {
.mixin(#ddd);
}
.class2 {
.mixin(#555);
}
ΠΠΎΡ ΡΡΠΎ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ:
.class1 {
background-color: black;
color: #ddd;
}
.class2 {
background-color: white;
color: #555;
}
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΠΎΡ ΡΠ°Π½Π½ΠΈΠΊΠ°Ρ :>,> =, =, = <, <.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΌΠΈΠΊΡΠΈΠ½Ρ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ is *. ΠΡΠΎ iscolor, isnumber, isstring, iskeyword ΠΈ isurl. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠΈΡΠ»Π°, Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ β ispixel, ispercentage, isem. ΠΠΎΡ Π±ΡΡΡΡΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
.mixin (@a) when (iscolor(@a)) {
color: @a;
}
.mixin (@a) when (ispixel(@a)) {
width: @a;
}
body {
.mixin(black);
}
div {
.mixin(960px);
}
body {
color: #000000;
}
div {
width: 960px;
}
ΠΡ ΡΠ°Π½Π½ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ Π·Π°ΠΏΡΡΠΎΠΉ β Π΅ΡΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΠΎΡ ΡΠ°Π½Π½ΠΈΠΊΠΎΠ² ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ true, ΡΡΠΎ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ΠΌ:
.mixin (@a) when (@a > 10), (@a < -10) { ... }
ΠΠΌΠ΅ΡΡΠΎ Π·Π°ΠΏΡΡΠΎΠΉ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ and
.mixin (@a) when (isnumber(@a)) and (@a > 0) { ... }
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ not
.mixin (@b) when not (@b > 0) { ... }
ΠΡΠΌΠ°Π΅ΡΡ, ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ° ΡΡΠΎ ΠΏΠ»ΠΎΡ ΠΎ? ΠΠΎΠ΄ΡΠΌΠ°ΠΉ Π΅ΡΠ΅ ΡΠ°Π·.
Π―Π²Π»ΡΡΡΡΡ Π»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² Π²Π°ΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΡΠΈΠ»Π΅ΠΉ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ? ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ, Π²ΡΡΠΈΡΠ°ΡΡ, Π΄Π΅Π»ΠΈΡΡ ΠΈ ΡΠΌΠ½ΠΎΠΆΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ²Π΅ΡΠ° ΡΠ²ΠΎΠΉΡΡΠ², Π΄Π°Π²Π°Ρ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ. ΠΠΌΠ΅ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Less. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ Π»ΡΠ±ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ, ΡΠ²Π΅ΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
@sidebarWidth: 400px;
@sidebarColor: #FFCC00;
#sidebar {
color: @sidebarColor + #FFDD00;
width: @sidebarWidth / 2;
margin: @sidebarWidth / 2 * 0.05;
}
#sidebar {
color: #FFFF00;
width: 200px;
margin: 10px;
}
Π‘ΠΊΠΎΠ±ΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΠΎΡΠ΅Π½ΠΊΠΈ. ΠΠ½ΠΈ ΡΡΠ΅Π±ΡΡΡΡΡ Π² ΡΠΎΡΡΠ°Π²Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ :
border: (@width * 2) solid black;
Less ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΠ°ΡΡ ΡΠ΄ΠΎΠ±Π½ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΡΠΈ:
round(1.67);
ceil(2.4);
floor(2.6);
Π, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΠΏΡΠΎΡΠ΅Π½Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΡΠ΅Π½ΡΠ°:
percentage(0.5);
ΠΠ΄Π΅ΡΡ Ρ ΠΏΠΎΠΊΠ°ΠΆΡ Π²Π°ΠΌ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΡΠ΅ΠΊΡΠ΅Ρ: ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·ΠΎΠ»ΠΎΡΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² Π²Π°ΡΠ΅ΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅. ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ΅Π½ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π²ΠΎΠΎΠ±ΡΠ΅. ΠΡΠΎΠ²Π΅ΡΡ ΡΡΠΎ:
@baseWidth: 960px;
@mainWidth: round(@baseWidth / 1.618);
@sidebarWidth: round(@baseWidth * 0.382);
#main {
width: @mainWidth;
}
#sidebar {
width: @sidebarWidth;
}
Π ΠΎΡΠ²Π΅Ρ:
#main {
width: 593px;
}
#sidebar {
width: 367px;
}
Π Π²ΡΠ°Π»Ρ! ΠΠ°Ρ ΡΠ°ΡΠΊΠ»Π°Π΄ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ Ρ Π·ΠΎΠ»ΠΎΡΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡ Π²ΡΠ΅ Π΅ΡΠ΅ Π΄ΡΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ° ΡΡΠΎ ΠΏΠ»ΠΎΡ ΠΎ ?! Π― ΡΠ°ΠΊ Π½Π΅ Π΄ΡΠΌΠ°Ρ π
Π¦Π²Π΅ΡΠ½Π°Ρ ΠΠ»Ρ ΠΈΠΌΠΈΡ
Less ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡ ΡΠ²Π΅ΡΠ°. Π‘Π½Π°ΡΠ°Π»Π° ΡΠ²Π΅ΡΠ° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΡΡ Π² ΡΠ²Π΅ΡΠΎΠ²ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ HSL, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΊΠ°Π½Π°Π»Π°. ΠΡΠ΅ ΡΠ²Π΅ΡΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ²Π΅Ρ ΠΈ ΠΏΡΠΎΡΠ΅Π½Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΊΡΠΎΠΌΠ΅ Π²ΡΠ°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 0 Π΄ΠΎ 255 Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΎΡΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡΡΠ΅Π½ΠΊΠ°, ΠΈ ΡΠΌΠ΅ΡΠΈΠ²Π°Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° ΡΠ²Π΅ΡΠ° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠΎΡ ΠΊΡΠ°ΡΠΊΠΈΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ Π΄Π»Ρ Π²Π°Ρ:
lighten(@color, 10%);
darken(@color, 10%);
saturate(@color, 10%);
desaturate(@color, 10%);
fadein(@color, 10%);
fadeout(@color, 10%);
fade(@color, 50%);
spin(@color, -10);
mix(@color1, @color2);
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ²Π΅ΡΠ΅ ΠΈΠ· ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΎΡΡΠ΅Π½ΠΊΠ°, Π½Π°ΡΡΡΠ΅Π½Π½ΠΎΡΡΠΈ, ΡΡΠΊΠΎΡΡΠΈ ΠΈ Π°Π»ΡΡΠ°:
hue(@color);
saturation(@color);
lightness(@color);
alpha(@color);
ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ²Π΅Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠ°Π½Π°Π»Π° Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
@new: hsl(hue(@old), 45%, 90%);
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ²ΠΎΠΉ Π°Π»Ρ ΠΈΠΌΠΈΠΈ, Ρ Π½Π°Ρ Π΅ΡΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ²Π΅ΡΠΎΠ²ΡΡ ΡΡ Π΅ΠΌ ΠΈ ΠΏΠ°Π»ΠΈΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π΄Π΅ΡΠ°Π»Π΅ΠΉ!
Π’Ρ Π»ΡΠ±ΠΈΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ? ΠΠ°.
Π CSS ΠΌΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π½Π°Π±ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ» ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, ΡΡΠΎ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π΄Π»ΠΈΠ½Π½ΡΠΌ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΡΠ°ΡΡΠΈ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π°. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π»ΠΈΠ½Π½ΡΡ ΠΈΠΌΠ΅Π½ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ² Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ, Π² Less Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π²ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ Π² Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ. ΠΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠΎΠΊΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠΈΠ»Π΅ΠΉ:
header {}
header nav {}
header nav ul {}
header nav ul li {}
header nav ul li a {}
Π ΠΠ΅Π½ΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ:
header {
nav {
ul {
li {
a {}
}
}
}
}
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ Π΄Π°Π΅Ρ Π²Π°ΠΌ ΡΠΈΡΡΡΠΉ, Ρ ΠΎΡΠΎΡΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΡΠΈΠ»ΡΠ½ΠΎΠΉ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠ΅ΠΉ. Π’Π΅ΠΏΠ΅ΡΡ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π°. ΠΡΠΎΡΡΠΎ Π²Π»ΠΎΠΆΠΈΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π½Π°Π±ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ» Π² Π΄ΡΡΠ³ΠΎΠΉ, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ. ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΠ°ΡΠΊΠΈΠΌ ΠΈ ΠΈΠΌΠΈΡΠΈΡΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ Π΄Π΅ΡΠ΅Π²Π° DOM. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π΄Π°ΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠ»Π°ΡΡΠ°ΠΌ ΡΡΡ ΡΡΡΡΠΊΡΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° &. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ & ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ. ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ»ΡΡ ΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠΌ, Π° Π½Π΅ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π» ΠΊΠ°ΠΊ ΠΏΠΎΡΠΎΠΌΠΎΠΊ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
header {
color: black;
}
header nav {
font-size: 12px;
}
header .logo {
width: 300px;
}
header .logo:hover {
text-decoration: none;
}
ΠΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊ:
header {
color: black;
nav {
font-size: 12px;
}
.logo {
width: 300px;
&:hover { text-decoration: none }
}
}
ΠΠ»ΠΈ ΡΠ°ΠΊ:
header { color: black;
nav { font-size: 12px }
.logo { width: 300px;
&:hover { text-decoration: none }
}
}
ΠΠ°Π·ΠΎΠ²ΠΈΡΠ΅ ΡΡΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΎ, ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΎ. ΠΡΠΎ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ?
Π§ΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΈΠΊΡΠΈΠ½Ρ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ? Less Π΄Π°Π΅Ρ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, Π²Π»ΠΎΠΆΠΈΠ² ΠΌΠΈΠΊΡΠΈΠ½Ρ Π² Π½Π°Π±ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ» Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ #namespace.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
#fonts {
.serif (@weight: normal, @size: 14px, @lineHeight: 20px) {
font-family: Georgia, "Times New Roman", serif;
font-weight: @weight;
font-size: @size;
line-height: @lineHeight;
}
.sans-serif (@weight: normal, @size: 14px, @lineHeight: 20px) {
font-family: Arial, Helvetica, sans-serif;
font-weight: @weight;
font-size: @size;
line-height: @lineHeight;
}
.monospace (@weight: normal, @size: 14px, @lineHeight: 20px) {
font-family: "Lucida Console", Monaco, monospace
font-weight: @weight;
font-size: @size;
line-height: @lineHeight;
}
}
ΠΠ°ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΌΠΈΠΊΡΠΈΠ½ ΠΈΠ· ΡΡΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π³ΡΡΠΏΠΏΡ, Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΡΡΠΎ:
body {
#fonts > .sans-serif;
}
Π Π²ΡΠ²ΠΎΠ΄:
body {
font-family: Arial, Helvetica, sans-serif;
font-weight: normal;
font-size: 14px;
line-height: 20px;
}
ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΡΡΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΠ΅ ΠΌΠΈΠΊΡΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΠΉ CSS, Π° ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠΎΠ΄Π΅, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠΈΠΊΡΠΈΠ½. ΠΡΠΎ ΡΠΎΠΊΡΠ°ΡΠ°Π΅Ρ Π²Π°Ρ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Ρ ΡΠ°Π½ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ Π²Π΅Ρ Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΎΠ±ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ
Π‘ΡΡΠΎΠΊΠΎΠ²Π°Ρ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΡ
Π‘ΡΡΠΎΠΊΠΎΠ²Π°Ρ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΡ β ΡΡΠΎ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π²ΡΡΠ°Π²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡΡΠΌΠΎ Π² ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ Π»ΠΈΡΠ΅ΡΠ°Π». ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Ρ Π² ΡΡΡΠΎΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ @{name}
@baseURL: "http://example.com";
border-image: url("@{base-url}/images/border.png");
Π‘ΠΏΠ°ΡΠ°ΡΡΡ
ΠΠ½ΠΎΠ³Π΄Π° Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π²ΡΠ²Π΅ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ CSS, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π»ΠΈΠ±ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ CSS, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Less Π½Π΅ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ. ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠ°ΠΊ, ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΡΡΡΠΎΠΊΡ Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ~, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
body {
@size ~"20px/80px";
font: @size sans-serif;
}
ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌΒ», ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ:
body {
font: 20px/80px sans-serif;
}
Π― Π³ΠΎΡΠΎΠ². ΠΠΎΠΊΠ°ΠΆΠΈΡΠ΅ ΠΌΠ½Π΅ ΠΌΠ°Π³ΠΈΡ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°.
ΠΠ΄Π΅Ρ Less Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΡΠΊΠΎΡΠΈΡΡ ΠΈ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ°ΠΏ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ Π²Π΅Π±-ΡΠ°ΠΉΡΠ΅, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΡΠΎΡΡΡΠΌ, ΡΡΠ°ΡΡΠΌ CSS, Π° Π½Π΅ Less. Π ΡΡΠ°ΡΡΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ. ΠΡΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Less ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ Π΅ΠΌΡ Π΄Π΅Π»Π°ΡΡ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ. Π― ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ WinLess (Π΄Π»Ρ Windows) ΠΈ LESS.app (Π΄Π»Ρ OS X)
ΠΠ΄Π΅ΡΡ Ρ ΠΎΠ±ΡΡΡΠ½Ρ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ WinLess. Π‘Π½Π°ΡΠ°Π»Π° ΡΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΅Π³ΠΎ. ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ WinLess, Π²ΡΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΈΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ .less
Π§ΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ WinLess, ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Β«Π€Π°ΠΉΠ»Β»> Β«ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈΒ». Π― ΠΎΡΡΠ°Π²Π»ΡΡ ΡΠ»Π°ΠΆΠΎΠΊ Β«Π‘ΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡΒ» Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΡΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ
ΠΎΡΡ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΉ ΡΠ°ΠΉΠ» Π±ΡΠ» ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΡΠΌ, ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΡ ΡΠ²ΠΎΠΈ ΡΠ°ΠΉΠ»Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ. Π― ΠΏΡΠΎΠ²Π΅ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π½ΠΈΠΆΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ Π½Π΅ Ρ
ΠΎΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΡΡΠ½ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Ρ ΡΠΎΡ
ΡΠ°Π½ΡΡ ΡΠ°ΠΉΠ», ΠΈ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Ρ Ρ
ΠΎΡΡ Π·Π½Π°ΡΡ, ΡΡΠΏΠ΅ΡΠ½Π° Π»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ. ΠΡΡΠ°ΡΠΈ, Π΄Π»Ρ ΡΠ΅Π»Π΅ΠΉ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ WinLess Online Less Compiler β ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Π±ΡΡΡΡΠΎ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ.
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ LESS.app Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π²ΠΈΠ΄Π΅ΠΎΡΡΠΎΠΊ Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π΅Π³ΠΎ ΡΠ°ΠΉΡΠ°.
ΠΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π²Π°ΡΠΈΠ°Π½Ρ Π΄Π»Ρ ΡΠ΅Ρ
ΠΈΠ· Π²Π°Ρ, ΠΊΡΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΠ ΠΈΠ»ΠΈ Mac. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π₯ΡΡΡΡ! , ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ AIR. Crunch β ΡΡΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Less, Π½ΠΎ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Less. ΠΡΠΎ ΠΊΡΡΡΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Crunch β Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ½Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π°Π΅Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ² .less
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ Ρ ΠΈΠΌΠ΅Ρ Π² Π²ΠΈΠ΄Ρ. ΠΠ½Π°Π΅ΡΡ ΡΡΠΎ? Π― ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΡΠ΅Π±Π΅ ΠΌΠΎΠΉ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΡΠ΅ΠΊΡΠ΅Ρ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠ±Π° ΠΈΠ· Π½ΠΈΡ
β WinLess Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ Crunch Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ²ΡΡΠΈΡ ΠΊΡΡΡΠΎ, Π°?
OK. Π― Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ°ΡΠΎΠ²Π°Π½. ΠΠ΄Π΅ Ρ ΠΌΠΎΠ³Ρ Π½Π°ΠΉΡΠΈ Π±ΠΎΠ»ΡΡΠ΅?
ΠΠΎΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ Π±ΠΎΠ½ΡΡ Π΄Π»Ρ Π²Π°Ρ. ΠΡΠΎ ΠΊΡΠ°ΡΠΊΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΡΡΡΡΠΎΠ² Less, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ . ΠΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π³ΠΎΡΠΎΠ²ΡΠ΅ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Less ΠΌΠΈΠΊΡΠΈΠ½Ρ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ°ΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Less Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ²ΠΎΠ΅ΠΉ Π±Π°Π·Ρ.
- ΠΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΠ΅Π½ΡΡΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ β Ρ ΠΎΡΠΎΡΠΎ. ΠΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ Π² Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ π ΠΠ΄Π½Π°ΠΊΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΈ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ Π² ΡΠ·ΡΠΊ.
- Less Elements β ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ² Less.
- Preboot.less β Π΅ΡΠ΅ ΠΎΠ΄Π½Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΌΠΈΠΊΡΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Less.
- Semantic Grid System β ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠΉ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π²Π΅ΡΡΡΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡ. ΠΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅, ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΈ Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΌΠ°ΠΊΠ΅ΡΡ. Π, ΠΊΡΡΠ°ΡΠΈ, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Ρ Sass ΠΈ Stylus (Π΅ΡΠ»ΠΈ Π²Ρ Π΅ΡΠ΅ Π½Π΅ Π²Π»ΡΠ±ΠΈΠ»ΠΈΡΡ Π² Less).
- Centage β Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Π° ΠΏΠΎΠ»Π½Π°Ρ ΡΠ΅ΠΊΡΡΠ΅ΡΡΡ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡΡ, Π²Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ.
- Perkins CSS3 Less Framework β ΠΏΡΠΈΡΡΠ½ΡΠΉ ΠΈ Π±ΠΎΠ³Π°ΡΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Less, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ HTML5 ΠΈ CSS3.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°ΠΉΡΠΈ Π΅ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΎ Less, GitHub β ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ. ΠΠ°ΠΊ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΠ°ΠΌ Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΠΊΡΡΠ½ΠΎΡΡΠ΅ΠΉ. Π§Π΅Π³ΠΎ ΠΆΠ΅ ΡΡ ΠΆΠ΄Π΅ΡΡ? ΠΠ΄ΠΈ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡ ΠΈΡ .
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ»ΠΎΠ²
ΠΠΊΡΠ°ΡΡΠ΅, Less β ΡΡΠΎ Π±ΡΡΡΡΡΠΉ, ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° CSS. Π’Π°ΠΊ ΡΡΠΎ Π½Π΅ Π±ΡΠ΄ΡΡΠ΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΡΠ²Π°ΡΠΈΠ²Π½Ρ, ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅. ΠΠΎΡΡΠ°ΡΡΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Ρ Less, ΠΈ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠΈΠ»Π΅ΠΉ Π±ΡΡΡΡΠ΅Π΅ ΠΈ ΠΏΡΠΎΡΠ΅, ΡΠ΅ΠΌ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΏΡΠ΅ΠΆΠ΄Π΅. ΠΠ΅Π»Π°Ρ Π²Π°ΠΌ ΡΡΠ°ΡΡΠ»ΠΈΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠΌΠ½ΠΈΡΠ΅: Β«ΠΠ΅Π½ΡΡΠ΅ Π·Π½Π°ΡΠΈΡ Π±ΠΎΠ»ΡΡΠ΅Β»
Π Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»ΠΎΡΡ ΡΠΈΡΠ°ΡΡ ΡΡΠΎΡ ΠΏΠΎΡΡ, Π²Ρ ΠΏΠΎΠ»ΡΠ±ΠΈΡΠ΅ Learnable ; ΠΌΠ΅ΡΡΠΎ, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ Π½Π°Π²ΡΠΊΠΈ ΠΈ ΠΏΡΠΈΠ΅ΠΌΡ Ρ ΠΌΠ°ΡΡΠ΅ΡΠΎΠ². Π£ΡΠ°ΡΡΠ½ΠΈΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΌ ΠΊΠ½ΠΈΠ³Π°ΠΌ SitePoint ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡΠ°ΠΌ, ΡΠ°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ Launch into Less .
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π·Π°ΠΊΡΡΡΡ. ΠΡΡΡ Π²ΠΎΠΏΡΠΎΡ ΠΎ ΠΠ΅Π½ΡΡΠ΅? ΠΠΎΡΠ΅ΠΌΡ Π±Ρ Π½Π΅ ΡΠΏΡΠΎΡΠΈΡΡ ΠΎΠ± ΡΡΠΎΠΌ Π½Π° Π½Π°ΡΠΈΡ ΡΠΎΡΡΠΌΠ°Ρ ?
Π’ΡΡΠΎΡΠΈΠ°Π» ΠΏΠΎ CSS ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ Stylus Β· GitHub
Stylus — ΡΡΠΎ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ CSS, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° JavaScript Π΄Π»Ρ Node.js.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅:
- Π‘Π΅Π»Π΅ΠΊΡΠΎΡΡ
- ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
- ΠΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
- ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ
- ΠΠΈΠΊΡΠΈΠ½Ρ
- Π₯ΡΡΠΈ
- Π¦ΠΈΠΊΠ»Ρ
- ΠΠΌΠΏΠΎΡΡ ΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΠ΅Π΄ΠΈΠ°-Π·Π°ΠΏΡΠΎΡΡ
- ΠΠ»ΠΎΠΊΠΈ
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ Stylus
Π‘Π΅Π»Π΅ΠΊΡΠΎΡΡ
Π Stylus Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΈ Π»ΡΠ±ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΡΠΎΠΌΠ΅ ΠΏΡΠΎΠ±Π΅Π»Π°, Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΡΠΎΠ³ΡΡ ΡΠ°Π±ΡΠ»ΡΡΠΈΡ (ΠΈΠ»ΠΈ ΠΎΡΡΡΡΠΏΡ) Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½ΠΎΡΡΠΈ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ².
Stylus
white-color = white body color white-color
CSS
Stylus
textarea input color #A7A7A7 &:hover color #000
CSS
textarea, input { color: #a7a7a7; } textarea:hover, input:hover { color: #000; }
Stylus
textarea input color #A7A7A7 &:hover, /.is-hovered color #000
CSS
textarea, input { color: #a7a7a7; } textarea:hover, input:hover, .is-hovered { color: #000; }
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² Stylus ΠΎΠ±ΡΠ²Π»ΡΡΡΡΡ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΠΈΠΌΠ²ΠΎΠ»ΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ, ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ @width
).
Stylus
font-size = 14px body font font-size Arial, sans-serif
CSS
body { font: 14px Arial, sans-serif; }
Stylus
position() position: arguments z-index: 1 unless @z-index #logo z-index: 20 position: absolute #logo2 position: absolute
CSS
#logo { z-index: 20; position: absolute; } #logo2 { position: absolute; z-index: 1; }
ΠΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Stylus ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ {
ΠΈ }
.
Stylus
mySelectors = '#foo,#bar,.baz' {mySelectors} background: #000
CSS
#foo, #bar, .baz { background: #000; }
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ
Π Stylus ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ, ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ Ρ.Π΄.
Stylus
list = 1 2 3 list[0] // => 1 list[-1] // => 3 1..5 // => 1 2 3 4 5 1...5 // => 1 2 3 4 5..1 // => 5 4 3 2 1 nums = 1 2 3 1 in nums // => true 5 in nums // => false color := red color ?= red color = color is defined ? color : white // => color red 15 is a 'unit' // => true #fff is a 'rgba' // => true
ΠΠΈΠΊΡΠΈΠ½Ρ
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π±Π»ΠΎΠΊΠΈ.
Stylus
stripe(even = #fff, odd = #eee) tr background-color odd &.even &:nth-child(even) background-color even body stripe()
CSS
body tr { background-color: #eee; } body tr.even, body tr:nth-child(even) { background-color: #456; }
Stylus
foo() .bar {block} +foo() width: 10px
CSS
Stylus
sum() n = 0 for num in arguments n = n + num sum(1,2,3,4,5) // => 15
Stylus
pad(types = margin padding, n = 5px) padding unit(n, px) if padding in types margin unit(n, px) if margin in types body pad() body pad(margin) body apply-mixins = true pad(padding, 10) if apply-mixins
CSS
body { padding: 5px; margin: 5px; } body { margin: 5px; } body { padding: 10px; }
Π₯ΡΡΠΈ
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Stylus ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΡΡ (ΠΊΠ»ΡΡ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅) ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ: ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ°ΡΡ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΡ ΠΏΠΎ ΠΊΠ»ΡΡΡ. ΠΡΠ·ΡΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ ΡΡΠ° Π½ΡΠΆΠ½ΠΎ Π² ΡΠ°ΠΌΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ°, ΠΈΠ½Π°ΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ°
Stylus
foo = { bar: baz, baz: raz } foo = { bar: baz, 'baz': raz, '0': raz } foo[baz] foo.baz // => 'raz'
Stylus
foo = { width: 10px, height: 20px, '&:hover': { padding: 0 } } .bar {foo}
CSS
.bar { width: 10px; height: 20px; } .bar:hover { padding: 0; }
Stylus
foo = { width: 10px, height: 20px } for key, value in foo {key}: value // => width: 10px; // height: 20px;
Stylus
foo = { bar: 'a', baz: 'b' }
keys(foo)
// => 'bar' 'baz'
values(foo)
// => 'a' 'b'
obj = { foo: 1, bar: 2 }
remove(obj, 'foo')
// => {"bar":"(2)"}
obj = {
foo: 'foo'
bar: 'bar'
}
obj2 = {
baz: 'baz'
}
merge(obj, obj2)
// => {"foo":"('foo')","bar":"('bar')","baz":"('baz')"}
Π¦ΠΈΠΊΠ»Ρ
Stylus
body for num in (1..3) foo num
CSS
body { foo: 1; foo: 2; foo: 3; }
Stylus
apply(props) props = arguments if length(arguments) > 1 for prop in props {prop[0]} prop[1] body apply(one 1, two 2, three 3) body list = (one 1) (two 2) (three 3) apply(list)
CSS
body { one: 1; two: 2; three: 3; } body { one: 1; two: 2; three: 3; }
ΠΠΌΠΏΠΎΡΡ ΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅
Stylus ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ Π² ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ @import
, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ @extend
.
Stylus
.message padding 10px border 1px solid #eee .warning @extend .message color #E2E21E
CSS
.message, .warning { padding: 10px; border: 1px solid #eee; } .warning { color: #e2e21e; }
ΠΠ΅Π΄ΠΈΠ°-Π·Π°ΠΏΡΠΎΡΡ
ΠΠ°ΠΊ ΠΈ CSS, ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠ΅Π΄ΠΈΠ°-Π·Π°ΠΏΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
Stylus
.widget padding 10px @media screen and (min-width: 600px) padding 20px
CSS
.widget { padding: 10px; } @media screen and (min-width: 600px) { .widget { padding: 20px; } }
Stylus
@media (max-width: 500px) .foo color: #000 @media (min-width: 100px), (min-height: 200px) .foo color: #100
CSS
@media (max-width: 500px) { .foo { color: #000; } } @media (max-width: 500px) and (min-width: 100px), (max-width: 500px) and (min-height: 200px) { .foo { color: #100; } }
ΠΠ»ΠΎΠΊΠΈ
ΠΠΎΠΆΠ½ΠΎ Π½Π°Π·Π½Π°ΡΠΈΡΡ Π»ΡΠ±ΠΎΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π² Stylus ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠ·Π²Π°ΡΡ Π΅Π΅, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π»ΡΠ±ΡΠΌ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ
Stylus
foo = width: 20px height: 20px .icon {foo}
CSS
.icon { width: 20px; height: 20px; }
Native CSS Mixins. ΠΠΎΠΈ ΠΌΡΡΠ»ΠΈ ΠΎ Native vs Sass | by Adam Johnston
ΠΠΎΠΈ ΠΌΡΡΠ»ΠΈ ΠΎ Π½Π°ΡΠΈΠ²Π½ΡΡ ΠΌΠΈΠΊΡΠΈΠ½Π°Ρ ΠΈ Sass
CSS ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΌΠΈΠΊΡΠΈΠ½Ρ. ΠΠΎΠ³Π΄Π° Ρ ΡΡΠ»ΡΡΠ°Π» ΡΡΠΎ, Ρ Π±ΡΠ» ΠΎΡΠ΅Π½Ρ Π²Π·Π²ΠΎΠ»Π½ΠΎΠ²Π°Π½, Π½ΠΎ ΠΌΠΎΠ΅ Π²ΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΌΠ΅ΡΠ΅Π½Π½ΡΠΌ, Π½ΠΎ ΡΠΉ! ΠΠΎΠ·ΠΈΡΠΈΠ²! Π― Ρ ΠΎΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Ρ Π²Π°ΠΌΠΈ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΌΡΡΠ»ΡΠΌΠΈ ΠΎ ΡΠΎΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ Ρ ΡΡΠΈΡΠ°Ρ ΠΈΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΊΡΡΡΡΠΌΠΈ, Ρ ΠΎΡΡ ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ.
Π― ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Sass ΠΈ ΡΠΈΡΠΊΠ½Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, ΠΏΠΈΡΡΡΠΈΠ΅ ΡΠ΅Π³ΠΎΠ΄Π½Ρ CSS, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π»ΠΈΠ±ΠΎ ΠΏΡΠ΅, Π»ΠΈΠ±ΠΎ ΠΏΠΎΡΡΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, Π° ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΄Π»Ρ ΠΏΠΎΠ΄Π°Π²Π»ΡΡΡΠ΅Π³ΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° Π°Π²ΡΠΎΡΠΎΠ² CSS Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΌΠΈΠΊΡΠΈΠ½Π°ΠΌ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ.
ΠΠ° ΡΠ»ΡΡΠ°ΠΉ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ Π½ΠΈΠΌΠΈ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΈΠΊΡΠΈΠ½? ΠΠΎΡ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠΈΡΠ°ΡΠ° Ρ Π²Π΅Π±-ΡΠ°ΠΉΡΠ° Sass:
Mixin ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π³ΡΡΠΏΠΏΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ CSS, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅.
ΠΡΠ»ΠΈΡΠ½ΠΎ! Π― ΠΌΠΎΠ³Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π³ΡΡΠΏΠΏΡ ΡΡΠΈΠ»Π΅ΠΉ Π² ΠΌΠΎΠ΅ΠΌ CSS, Π΄Π°ΡΡ ΠΈΠΌ ΠΈΠΌΡ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ . ΠΡΠ°ΡΠΈΠ²ΠΎ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎ. Π’Π°ΠΊ ΡΡΠΎ Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π² CSS Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ°ΠΏΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈΠΌΠ΅Π΅Ρ Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΡΠ΅Π»ΡΠΉ ΡΡΠ΄ ΡΠΌΡΡΠ»Π°.
Native vs Sass
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅:
- ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ CSS, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Chrome 51+ ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΡΠ»Π°Π³ — chrome: // flags / # enable -ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅-Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ-Π²Π΅Π±-ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
- Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΡΠΎ ΡΠ΅ΡΠ½ΠΎΠ²ΠΈΠΊ ΡΠ΅Π΄Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π·Π΄Π΅ΡΡ, ΠΈΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ Π΄Π΅ΡΠ°Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡΡ.
- Π― Π±ΡΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Sass Π΄Π»Ρ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², Π½ΠΎ Π²ΡΠ΅ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Less ΠΈΠ»ΠΈ Stylus, Ρ ΠΎΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ.
/ * Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ * / : root {
--my-mixin: {
background: # 256dbd;
ΡΠ²Π΅Ρ: # f5f5f5;
}
} body {
@apply --my-mixin;
} --- // Scss @mixin my-mixin {
background: # 256dbd;
ΡΠ²Π΅Ρ: # f5f5f5;
} body {
@include my-mixin;
}
ΠΠ΅ΡΠ²ΠΎ-Π½Π°ΠΏΠ΅ΡΠ²ΠΎ, ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ.Π― Π»ΠΈΡΠ½ΠΎ Π½Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ Π½ΠΈ ΡΠΎΠ³ΠΎ, Π½ΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ. Π ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΌΠΈΠΊΡΠΈΠ½ ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ: root) ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΌΠΈΠΊΡΠΈΠ½, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π½ΠΎΠ²ΠΎΠ΅ at-ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ @apply. Sass ΠΏΠΎΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΠΈΠ»ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
ΠΡΠ΅ ΠΎΠ΄Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠΈΠΊΡΠΈΠ½Ρ Sass ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, Π° Π½Π°ΡΠΈΠ²Π½ΡΠ΅ — Π½Π΅Ρ. ΠΠ΅Π»ΡΠ·Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ native Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π΅Π½ Π±Π΅Π· ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½ΠΎ ΡΡΠΎ Π·Π°ΠΌΠ΅ΡΠ½ΠΎΠ΅ ΡΠΏΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Sass. ΠΡΠ»ΠΎ Π±Ρ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ Π½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΌΠΈΠΊΡΠΈΠ½Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ CSS, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΡΠ»ΡΡΠ°ΠΉ:
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ Ρ ΠΏΡΠΎΡΠΈΡΠ°Π» ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎ ΡΡΠ»ΠΎΠΆΠ½ΠΈΡ CSS ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅. ΠΊΠ°ΠΊ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.ΠΠ΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊ ΡΠΆ ΠΏΠ»ΠΎΡ ΠΎ. Sass Π±ΡΠ» ΠΌΠΎΠΈΠΌ ΡΠ»ΡΠ·ΠΎΠΌ ΠΊ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π² ΡΠ΅Π»ΠΎΠΌ ΠΏΠΎΠΌΠΎΠ³ ΠΌΠ½Π΅ ΡΡΠ°ΡΡ Π»ΡΡΡΠΈΠΌ ΡΡΠΎΠ½ΡΠ΅Π½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ.
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅β¦
Π§ΡΠΎ ΠΌΠ½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ Π² ΠΌΠΈΠΊΡΠΈΠ½Π°Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ CSS, ΡΠ°ΠΊ ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Ρ ΠΌΠΎΠ³Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠ΅ ΠΈ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠΈΠ»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΌΠΎΠ³Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ²ΠΎΠ΅ΠΌ CSS Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΡΡΠ°ΠΏΠ°Ρ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
ΠΡΠΈ ΡΡΠΎΠΌ, Π±Π΅Π· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² (Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ) ΠΈ ΠΏΠΎΡΡΠΈ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°, Ρ Π½Π΅ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ ΡΠ±Π΅Π΄ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ, ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΠΏΠΎΠΊΠ°.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ° ΠΈ ΡΡΡΠ»ΠΊΠΈ
CSS-ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ² Ρ ΠΏΡΠ°Π²ΠΈΠ»ΠΎΠΌ @apply
ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ: | 4 ΠΌΠΈΠ½ΡΡΡ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅
Π― ΠΎΡΠ΅Π½Ρ Π²Π·Π²ΠΎΠ»Π½ΠΎΠ²Π°Π½ Π½Π΅Π΄Π°Π²Π½Π΅ΠΉ ΡΠ²ΠΎΠ»ΡΡΠΈΠ΅ΠΉ CSS. ΠΠ΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π°Π·Π°Π΄ Flexbox Π±ΡΠ» ΠΌΠΎΠ΄Π½ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ, ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΡΡΠΎ ΡΠ°ΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΈ ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ. ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΡΡΠ΅Π² Π½Π°Π·Π°Π΄ Ρ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠ°ΠΊΠ΅ΡΠ° ΡΠ΅ΡΠΊΠΈ CSS, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ°ΡΡΠ΅ΠΉΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΊΠ°ΡΠ΄ΠΈΠ½Π°Π»ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΠ³ΡΠΎΠΌΠ½Π°Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Sass ΠΈΠ»ΠΈ LESS, Π½Π΅ΡΠΎΠΌΠ½Π΅Π½Π½ΠΎ, ΠΏΠΎΠ²Π»ΠΈΡΠ»Π° Π½Π° Π°Π²ΡΠΎΡΠΎΠ² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² ΡΠ·ΡΠΊ ΠΊΠ°ΠΊ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° CSS.ΠΠ΅Π΄Π°Π²Π½ΠΎ Ρ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ Π²ΡΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΠΎΠ± ΡΡΠΎΠΉ ΠΌΠΎΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π°ΡΠΏΠ΅ΠΊΡ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠ°Π²ΠΈΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠ°ΠΌ, — ΡΡΠΎ ΠΌΠΈΠΊΡΠΈΠ½Ρ. Π§ΡΠΎ ΠΆ, Ρ ΠΎΡΠΎΡΠΈΠ΅ Π½ΠΎΠ²ΠΎΡΡΠΈ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ, ΠΌΠΎΠΉ Π΄ΡΡΠ³ — ΠΏΡΠ°Π²ΠΈΠ»ΠΎ CSS @apply Π½Π΅ Π·Π° Π³ΠΎΡΠ°ΠΌΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°ΡΠΈΠ²Π½ΡΠΉ CSS-ΠΌΠΈΠΊΡΠΈΠ½.
ΠΡΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ @apply, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π°Π²ΡΠΎΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π½Π°Π±ΠΎΡ ΡΠ²ΠΎΠΉΡΡΠ² Π² ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π° Π·Π°ΡΠ΅ΠΌ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° Π½ΠΈΡ Π² Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ ΡΡΠΈΠ»Ρ.
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ Π½Π°ΡΠ½Π΅ΠΌ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΠ±ΡΠΈΡΡ Π²Π°ΠΌ, ΡΡΠΎ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π±ΡΠ»Π° Π² Google Chrome Canary Ρ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌ ΡΠ»Π°Π³ΠΎΠΌ Β«ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π΅Π±-ΠΏΠ»Π°ΡΡΠΎΡΠΌΡΒ».
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ #
ΠΡΠ»ΠΈ Π²Ρ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ²ΠΎΠΉΡΡΠ² CSS, Π²Π°ΠΌ Π½Π΅ ΡΠΎΡΡΠ°Π²ΠΈΡ ΡΡΡΠ΄Π° Π΅Π³ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ. ΠΡΠΎΡΡΠΎ Π·Π°ΠΊΠ»ΡΡΠΈΡΠ΅ Π½Π°Π±ΠΎΡ ΡΠ²ΠΎΠΉΡΡΠ² Π² ΡΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ Π²ΡΠΎΠ΄Π΅ ΡΡΠΎΠ³ΠΎ & mldr;
: root {
--heading-style: {
ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΡΡΠΈΡΡΠΎΠ²: ΠΊΡΡΡΠΈΠ²;
font-weight: 700;
};
}
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠΈΠΊΡΠΈΠ½ ΡΠ΅ΡΠ΅Π· Π½ΠΎΠ²ΠΎΠ΅ at-ΠΏΡΠ°Π²ΠΈΠ»ΠΎ @apply
.
h2 {
@apply - ΡΡΠΈΠ»Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°;
}
Π‘ΠΌ. ΠΠ΅ΡΠΎ 2016.04.18 — 1, Π°Π²ΡΠΎΡ ΠΠ°Π²Π΅Π» ΠΠΆΠΈΠ±Π΅ΠΊ (@pawelgrzybek) Π½Π° CodePen.
ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² ΠΌΠΈΠΊΡΠΈΠ½Π°Ρ CSS #
Sass ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΌΠΈΠΊΡΠΈΠ½Ρ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΡΠ°Π²ΠΈΠ»ΠΎΠΌ @apply
.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ JavaScript, ΠΏΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΡΠ΅ΡΠΈΡΡ, — ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π²ΡΠΎΠ΄Π΅ & mldr;
: root {
- ΡΠ²Π΅Ρ Π±ΡΠ΅Π½Π΄Π°: ΠΊΡΠ°ΡΠ½ΡΠΉ;
--heading-style: {
color: var (- ΡΠΈΡΠΌΠ΅Π½Π½ΡΠΉ ΡΠ²Π΅Ρ);
ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΡΡΠΈΡΡΠΎΠ²: ΠΊΡΡΡΠΈΠ²;
font-weight: 700;
};
}
h2 {
- ΡΠ²Π΅Ρ Π±ΡΠ΅Π½Π΄Π°: Π·Π΅Π»Π΅Π½ΡΠΉ;
@apply - ΡΡΠΈΠ»Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°;
}
/ *
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ° ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΡΡΡ ΠΈΠ· ΠΊΠΎΡΠ½Ρ, Π° Π½Π΅ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΡΠ°ΡΠ½ΡΠΉ, Π° Π½Π΅ Π·Π΅Π»Π΅Π½ΡΠΉ
ΡΡΠΎ CSS, Π° Π½Π΅ JavScript
* /
& mldr; Π½ΠΎ ΡΡΠΎ Π½Π΅ JavaScript, Π΄ΡΡΠ³ ΠΌΠΎΠΉ.ΠΠ½ Π±Π΅ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ· ΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°, Π³Π΄Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΌΠΈΠΊΡΠΈΠ½, Π° Π½Π΅ ΠΈΠ· Π±Π»ΠΎΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Β«Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡΒ». ΠΠ°Π΄Π΅ΡΡΡ, ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΠΈΠΊΡΠΈΠ½Ρ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ — ΡΠΊΡΠ΅ΡΡΠΈΠΌ ΠΏΠ°Π»ΡΡΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ CSS-ΠΌΠΈΠΊΡΠΈΠ½Ρ ΡΠ΅Π³ΠΎΠ΄Π½Ρ #
ΠΠ°ΠΊ Ρ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π», ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΌ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π²Π½Π° Π½ΡΠ»Ρ. Π‘ΡΠ°ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Chrome ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Π½Π°ΠΌ, ΡΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½Π° Π΄Π»Ρ Google Chrome 51 (Π·Π° ΡΠ»Π°Π³ΠΎΠΌ) ΠΈ Opera 38.ΠΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ ΠΎ Π΄ΡΡΠ³ΠΈΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ Π½Π΅ ΡΠ°Π·Π³Π»Π°ΡΠ°Π»ΠΎΡΡ.
ΠΠ°ΠΊ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π±ΡΠ΄ΡΡΠΈΡ
ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ! ΠΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ Ρ Babel ΠΈ ECMAScript 2015. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ ΠΌΠ½Π΅ ΡΠ°ΠΊ Π½ΡΠ°Π²ΠΈΡΡΡ PostCSS! ΠΡΠ»ΠΈ Π²Ρ Π΅ΡΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π΅Π³ΠΎ, Ρ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π²Π°ΠΌ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΠΌΠΎΠΈΠΌ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π² PostCSS Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Sass. ΠΠ°ΡΠΊΠ°Π»Ρ ΠΡΡΠ· ΡΠΎΠ·Π΄Π°Π» postcss-apply, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ @apply
Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡΠΈΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌ.
ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ @apply
Π½Π΅ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ, ΠΊΠ°ΠΊ Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ CSS. Π― ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΠΎΡΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΏΡΠ°Π²ΠΈΠ»ΠΎΠΌ @support
— ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π²ΠΎΠΏΡΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΠ»ΠΈ Π²Π°ΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΏΡΠ°Π²ΠΈΠ»Π° @apply
, ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π‘Π΅ΡΠ³ΠΎΠΌ ΠΠΎΡΠΏΠΎΠ΄Π°ΡΠ΅ΡΠΎΠΌ. Π‘Π΅ΡΠ³ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Π² ΡΠ²ΠΎΠ΅ΠΌ Π±Π»ΠΎΠ³Π΅ ΡΠΏΠΈΡΠΎΠΊ ΠΎΡΠ»ΠΈΡΠ½ΡΡ
Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ CSS-ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ².
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎΡ ΠΎΠ±Π·ΠΎΡ Π±ΡΠ» Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π΅Π½. Π£Π²ΠΈΠ΄ΠΈΠΌΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π·: — *
ΠΠΠΠΠΠΠΠΠΠ!
Tab Atkins Jr ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΠ», ΡΡΠΎ ΠΎΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ @apply
ΠΎΡΠΊΠ°Π·Π°Π»ΠΈΡΡ ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ.ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΡΡΠΎΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ Π·Π΄Π΅ΡΡ.
ΠΠ΄Π΅ΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΡΠ° Π΄Π»Ρ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ², ΠΈ Ρ ΠΎΡΡ ΠΏΠΎΡΠ΅ΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π°Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²ΠΎΠ»Π½ΠΎΠ²Π°Π», — ΠΎΡΡΡΠΎΠΉ,
@apply
Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΠ»ΠΎΡ ΠΎΠΉ ΠΈΠ΄Π΅Π΅ΠΉ Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΡΠΈΠΌ ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
Π§ΡΠΎ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅?
ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ (Π²ΡΠΎΠ΄Π΅) Π½Π°ΠΏΠΈΡΠ°ΡΡ SASS @mixins Π² ΠΏΡΠΎΡΡΠΎΠΌ CSS
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎ ΡΡΠΈΠ³Π³Π΅ΡΠ΅: Π― ΠΌΠΎΠ³Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ SASS ΠΈ SCSS ΠΏΠΎΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π² ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅.ΠΠ°Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΠΈΠ»ΠΈ π
ΠΡ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π½Π°ΠΆΠ°Π»ΠΈ Π½Π° ΡΡΠΎΡ ΠΏΠΎΡΡ, Π΄ΡΠΌΠ°Ρ: Β«ΠΠΎΠ³ΠΎΠ΄ΠΈΡΠ΅, Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΈΡΠ°ΡΡ ΠΌΠΈΠΊΡΠΈΠ½Ρ Π½Π° ΠΏΡΠΎΡΡΠΎΠΌ CSS. Π§ΡΠΎ ΡΡΠΎ Π·Π° ΠΊΠ»ΠΈΠΊΠ±Π΅ΠΉΡ?Β»
ΠΠΎΠ·Π²ΠΎΠ»ΡΡΠ΅ ΠΌΠ½Π΅ ΡΡΠ°Π·Ρ ΠΏΡΠΈΠ·Π½Π°ΡΡ ΠΊΠΎΠ΅-ΡΡΠΎ: ΡΡΠΎΡ ΠΏΠΎΡΡ Π½Π΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π²ΡΠ΅Π³ΠΎ ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π² ΠΌΠΈΠΊΡΠΈΠ½Π°Ρ . ΠΡΠΎ Π½Π΅ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π²ΠΎΠ»ΡΠ΅Π±Π½ΡΠΉ ΡΠ³ΠΎΠ»ΠΎΠΊ CSS Π΄Π»Ρ ENGAGE SASS MODE.
ΠΡΠ°ΠΊ, Π΄Π°, ΠΏΠ°ΡΡΠ΅ΡΠ½, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡ ΠΎΠΏΠΈΡΠ°ΡΡ, Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΡΠΌΡΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠΌ Π½Π° ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ² SASS / Stylus / LESS.Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΌΠΈΠΊΡΠΈΠ½Π°ΠΌ:
- Π£ Π²Π°Ρ Π΅ΡΡΡ CSS, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΌΠ΅ΡΡΠ°Ρ
- ΠΡ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΌΡ CSS, ΡΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π₯ΠΎΡΠΎΡΠΎ, ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΡΠ½ΠΈΠ·ΠΈΠ»ΠΈΡΡ. Π§ΡΠΎ Ρ ΡΠ΅Π±Ρ Π΅ΡΡΡ?
ΠΡ, Π²ΡΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π½Π°ΡΠ΅Π³ΠΎ Π΄ΡΡΠ³Π°, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ CSS.
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΈΡ ΡΠ°Π½ΡΡΠ΅, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ CSS ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ SASS; Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Ρ ΡΠ°Π½ΠΈΡΡ Π² Π½ΠΈΡ Π²ΡΠ΅, ΡΡΠΎ Ρ ΠΎΡΠΈΡΠ΅, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π² Π»ΡΠ±ΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΠ΅.ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ²Π΅ΡΡ ΠΌΠΎΡΠ½ΡΠ΅ . ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π±ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π²Π΅Π·Π΄Π΅, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ CSS ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π½Π°Π·Π½Π°ΡΠΈΡΡ Π½Π° Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΊΠ°ΡΠΊΠ°Π΄Π° . SASS ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΡΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
Π’Π°ΠΊΠ°Ρ ΠΌΠΎΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ ΡΡΠΎΠ³ΠΎ:
Π― ΠΊΡΠ°ΡΠ½ΡΠΉ Π°Π±Π·Π°Ρ!
Π― ΡΠΈΠ½ΠΈΠΉ Π°Π±Π·Π°Ρ!
p {
color: var (- ΡΠ²Π΅Ρ ΡΠ΅ΠΌΡ);
}
Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π°Π±Π·Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΉ ΡΠ²Π΅Ρ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Π½ΠΎΠΉ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΌ div
.Π₯ΠΎΡΠΎΡΠΈΠΉ!
ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅ Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠΈ. ΠΡ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ ΡΡΠΈ ΡΡΡΠ»ΠΊΠΈ ΠΈΠΌΠ΅Π»ΠΈ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠΉ ΠΌΠ°ΠΊΠ΅Ρ, Π½ΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ²Π΅Ρ, ΡΡΠΎΠ±Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΡΡΠ»Π°Π΅ΡΠ΅ΡΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π΄Π²Π΅ ΡΡΡΠ»ΠΊΠΈ:
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠ»ΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·Π½ΡΠΉ ΡΠ²Π΅Ρ Π½Π΅ Π² ΠΎΠ΄Π½ΠΎΠΌ, Π° Π² ΡΠ΅ΡΡΡΠ΅Ρ ΠΌΠ΅ΡΡΠ°Ρ :
- Π’Π΅ΠΊΡΡ
ΡΠ²Π΅Ρ
- ΠΠ°Π»ΠΈΠ²ΠΊΠ°
Π·Π½Π°ΡΠΊΠ° SVG
- Π‘ΡΡΠ»ΠΊΠ°
Π³ΡΠ°Π½ΠΈΡΠ°
- Π¦Π²Π΅Ρ ΡΠΎΠ½Π°
ΠΠ΅Π· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°ΡΡΠΈΠΌ / Π½Π΅ Π‘Π£Π₯ΠΠ.ΠΠ°ΠΌ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π±Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΅ΡΡΡΠ΅ Π½Π°Π±ΠΎΡΠ° ΠΏΡΠ°Π²ΠΈΠ» (Π²ΠΊΠ»ΡΡΠ°Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΡΡΠΈΠ»Ρ Π΄Π»Ρ Π·Π½Π°ΡΠΊΠ°) Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ 000
ΠΡΠ»ΠΈ Π²Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΊΡΡΡΡ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΠ΅Π·Π°ΡΡ ΡΠ²ΠΎΠΈ ΡΡΠΈΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΈΠ½Π°. ΠΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
@mixin color-link ($ color) {
ΡΠ²Π΅Ρ: $ ΡΠ²Π΅Ρ;
Π³ΡΠ°Π½ΠΈΡΠ°: 1px ΡΠΏΠ»ΠΎΡΠ½ΠΎΠΉ ΡΠ²Π΅Ρ $;
svg {
fill: $ color;
}
&: hover {
ΡΠ²Π΅Ρ ΡΠΎΠ½Π°: $ ΡΠ²Π΅Ρ;
}
}
Π’Π΅ΠΏΠ΅ΡΡ, Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π±ΡΠ΄Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠ²Π΅Ρ ΡΡΡΠ»ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°ΡΡ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΠΈΠΊ Π² Π½ΠΎΠ²ΠΎΠΌ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ΅:
.twitter-link {
@include color-link (# 1fa0f2);
}
ΠΠΎΡ ΡΡΡΠΊΠ°, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ:
Π₯ΠΎΡΠΎΡΠΎ, Π½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ CSS Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎΠ³ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ …
ΠΠΎΡ Π³Π΄Π΅ Π²Ρ ΠΎΡΠΈΠ±Π°Π΅ΡΠ΅ΡΡ! Π₯ΠΎΡΡ Π² CSS ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π½Π°Ρ ΠΈΠ·ΡΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ @include
, ΠΌΡ Π²ΡΠ΅ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² Π½Π°Π±ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ» Ρ ΡΠ²Π΅ΡΠΎΠ²ΠΎΠΉ ΡΠ²ΡΠ·ΡΡ
Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°, Π±Π΅Π· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ :
a.color-link {
ΡΠ²Π΅Ρ: # 1fa0f2;
Π³ΡΠ°Π½ΠΈΡΠ°: 1px solid # 1fa0f2;
}
Π°.color-link> svg {
Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ: # 1fa0f2;
}
a.color-link: hover {
ΡΠ²Π΅Ρ ΡΠΎΠ½Π°: # 1fa0f2;
ΡΠ²Π΅Ρ Π±Π΅Π»ΡΠΉ;
}
a.color-link: hover> svg {
Π·Π°Π»ΠΈΠ²ΠΊΠ°: Π±Π΅Π»ΡΠΉ;
}
ΠΠ΄Π΅ΡΡ ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΠ°ΡΡ Π²Π΅ΡΠ΅ΠΉ:
- ΠΡ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»ΠΈ Π½Π°Ρ ΠΌΠΈΠΊΡΠΈΠ½
color-link
Π² ΠΏΡΠΎΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΉ CSS-ΠΊΠ»Π°ΡΡ - ΠΡ ΠΈΠ·Π±Π°Π²ΠΈΠ»ΠΈΡΡ ΠΎΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ CSS Π²ΡΠ΅ Π΅ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎΠ³ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ (Π½ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ!).
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ Π³ΠΎΡΠΎΠ²Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡ Π²Π°Ρ Ρ ΠΌΠ°Π³ΠΈΠ΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . β¨
Π°.color-link {
color: var (- ΡΠ²Π΅Ρ);
Π³ΡΠ°Π½ΠΈΡΠ°: 1px solid var (- ΡΠ²Π΅Ρ);
}
a.color-link> svg {
fill: var (- ΡΠ²Π΅Ρ);
}
a.color-link: hover {
ΡΠ²Π΅Ρ ΡΠΎΠ½Π°: var (- ΡΠ²Π΅Ρ);
ΡΠ²Π΅Ρ Π±Π΅Π»ΡΠΉ;
}
a.color-link: hover> svg {
Π·Π°Π»ΠΈΠ²ΠΊΠ°: Π±Π΅Π»ΡΠΉ;
}
Π, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ΅ΠΌ Π½Π°ΡΠΈ ΠΊΠ»Π°ΡΡΡ twitter
ΠΈ github
ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ
:
.twitter-link {
--ΡΠ²Π΅Ρ: # 1fa0f2;
}
.github-link {
--ΡΠ²Π΅Ρ: # 24292D;
}
Π‘ΡΡΠ΅Π»Π°. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
CSS ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ²Π΅ΡΠ°
Π² Π»ΡΠ±ΠΎΠΌ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌ Π½Π°ΠΌΠΈ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ΅ CSS.ΠΠΎΠΊΠ° ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠΈΡ
ΠΏΠ°ΡΠ½Π΅ΠΉ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π½Π°ΡΠΈΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ color-link
…
...
ΠΠ°ΡΠ° Β«ΡΠΌΠ΅ΡΡΒ» color-link
ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ²Π΅ΡΠ° ΡΠ°ΠΌ, Π³Π΄Π΅ ΠΎΠ½ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ!
ΠΠΎΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ CodePen, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ:
ΠΠ°, Π΅ΡΠ΅ Π΅ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ
ΠΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π΄Π΅Π»Π°Π΅Ρ Π²Π°ΡΠΈ ΠΏΡΠΎΡΡΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠΈΠ»Π΅ΠΉ CSS Π±ΠΎΠ»Π΅Π΅ Π‘Π£Π₯ΠΠΠ, Π½ΠΎ Π½Π΅ ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΎΠ»Π΅Π΅ Π·Π°Π±Π°Π²Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, SASS ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΈΠΊΠ» Π²Π½ΡΡΡΠΈ ΡΠ²ΠΎΠΈΡ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ².ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ Π²Π°ΠΌ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ true / false Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠ»ΡΠΌΠΈ.
@mixin grid-if-supported ($ grid) {
@if $ grid {
@include ΡΡΠΌΠ°ΡΡΠ΅Π΄ΡΠΈΠΉ ΠΌΠ°ΠΊΠ΅Ρ ΡΠ΅ΡΠΊΠΈ;
} @Π΅ΡΠ΅ {
@include Crazier-Flexbox-layout;
}
}
ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΡΠ°ΡΠΊΠΎΠ³ΠΎ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ Π·Π΄Π΅ΡΡ Π²ΠΎΠ»ΡΠ΅Π±Π½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ΠΉ
ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π°Ρ HTML, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ² Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ². Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠΎΠ³ΠΎ Π²Ρ ΡΠΏΡΠΎΡΠΈΡΠ΅, ΡΡΠΎ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ ΠΌΠΈΠΊΡΠΈΠ½Π°. ΠΠΈΠΊΡΠΈΠ½Ρ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π² Π»ΡΠ±ΠΎΠΉ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ Π½Π°Π±ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ», ΠΊΠΎΡΠΎΡΡΠΉ Ρ Π²Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡΡ ΠΏΡΠ°Π²ΠΈΠ».
Π― ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ Ρ ΡΡΠΈΠΌ, Π½ΠΎ ΡΡΠΎΡ ΠΏΠΎΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΡΠ½ΡΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ CSS. ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π΄Π°ΠΆΠ΅ Ρ
ΡΠ°Π½ΠΈΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΡΠΈΠ»ΠΈ Ρ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠΌ ΠΈ Π·Π°ΠΏΡΡΡΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ --crazy-padding: 12px 12px 0 0
ΠΈΠ»ΠΈ --dope-box-shadow: 1px 2px 3px #abcabc
. Π§Π΅Π³ΠΎ Π½Π΅Π»ΡΠ·Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ
ΠΌΠΈΠΊΡΠΈΠ½Π° SASS!
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΡΡΠ΅Π½ΠΈΠ΅!
ΠΡΠΎΡ ΠΏΠΎΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΠΌΠΎΠ΅ΠΉ ΡΠ²Π΅ΡΠ΄ΠΎΠΉ ΡΠ΅Π»ΠΈ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² CSS. Π― ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΡΠΊΡΡΠ°Ρ ΠΏΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ ΡΡΠΈΠ»ΡΠΌ … Π½ΠΎ ΠΌΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ CSS Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°ΠΌΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ±ΠΎΡΠΊΠΈ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Ρ ΡΠΎΡ ΡΠ°Π½ΡΡ, Π΄Π΅Π»Π°ΡΡ ΠΌΠ΅Π½Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΡΠΌ ΡΡΡΡΠΌ CSS Π² Π½Π°ΡΠΈ Π΄Π½ΠΈ
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ CSS, ΠΈΡΡΠ»Π΅Π΄ΡΡ, ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ ΡΠΎ ΡΡΠΈΠ»Π΅ΠΌ JS.ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π·Π΄Π΅ΡΡ!
Π’Π°ΠΊΠΆΠ΅ ΠΆΠ΄ΠΈΡΠ΅ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΡΡΠ΅Π². Π― Π½Π°ΠΊΠΎΠ½Π΅Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ» ΠΊΠΎΠ»Π»Π΅Π΄ΠΆ, ΡΡΠΎ Ρ ΠΌΠ΅Π½Ρ … ΡΠΌΠ΅ΡΠ°Π½Π½ΡΠ΅ ΡΡΠ²ΡΡΠ²Π°, ΠΌΡΠ³ΠΊΠΎ Π³ΠΎΠ²ΠΎΡΡ. Π ΡΡΠΎΠΌ ΠΌΠ΅ΡΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½Π΅ ΡΡΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ Π²ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΈΠ· ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π°, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Ρ Π½Π°ΡΠ½Ρ ΡΠ²ΠΎΡ ΠΏΠ΅ΡΠ²ΡΡ ΡΠ°Π±ΠΎΡΡ Π΄Π»Ρ Π²Π·ΡΠΎΡΠ»ΡΡ .
ΠΡΠ°ΠΊ, ΠΏΠΎΠ΄ΠΏΠΈΡΠΈΡΠ΅ΡΡ Π½Π° ΡΠ°ΡΡΡΠ»ΠΊΡ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ Π½ΠΈΠΆΠ΅, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ! Π‘ΠΊΠΎΡΠΎ ΠΏΠΎΡΠ²ΡΡΡΡ Π½ΠΎΠ²ΡΠ΅.
Mixins Π»ΡΡΡΠ΅ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ — CSS Wizardry — ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π²Π΅Π±-ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΎ ΠΠ°ΡΡΠΈ Π ΠΎΠ±Π΅ΡΡΡΠΎΠΌ Π½Π° CSS Wizardry .
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅- ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ
- ΠΠ΅Π»Π°Π΅ΠΌ Π²Π΅ΡΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΡΠΌΠΈ ΠΠΈΠΊΡΠΈΠ½Ρ
- Π»ΡΡΡΠ΅ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
ΠΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ
ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ², ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ
ΡΠ°ΡΡΡΡ
Π²ΠΎΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ½Π΅ Π·Π°Π΄Π°ΡΡ: ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ² ΠΈΠ»ΠΈ
Π― Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ»
Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ
Π²ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΠΎ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅, ΠΈ
Π― ΡΠ²Π΅ΡΠ΄ΠΎ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ Π²Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ @extend
? @extend
ΠΏΠΎ ΡΡΠ΄Ρ ΠΏΡΠΈΡΠΈΠ½:
- ΠΠ½ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π²Π°Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ, ΡΡΠΎ Π²ΡΠ΅Π³Π΄Π° ΡΠΈΡΠΊΠΎΠ²Π°Π½Π½ΠΎ Π² CSS.
- ΠΠ½ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΡΠ΅ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ Π² Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅, ΠΏΠΎΠΌΠ΅ΡΠ°Ρ Π½Π΅ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ Π²ΡΠ΅ Π²ΠΌΠ΅ΡΡΠ΅.
- ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΆΠ°Π΄Π½ΠΎ,
@extend
Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ΅ΠΌΡ, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΎΡΠ΅Π»ΠΈ .. - ΠΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ, ΠΏΡΠ°Π²Π΄Π° Π±ΡΡΡΡΡΠΉ.
@extend
Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠΈΡΠΎΠΊΠΎ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π°Π½ΡΠΈΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ, ΠΊ ΡΡΠ°ΡΡΡΡ, Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΈΡΡΠ΅Π·Π°ΡΡ, Π½ΠΎ ΠΌΡ Π΅ΡΠ΅ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ°ΠΌ.
ΠΡΠ΅ΡΠ° Ρ ΡΠ°Π±ΠΎΡΠ°Π» Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ, ΠΈ ΠΌΠ΅Π½Ρ ΡΠΏΡΠΎΡΠΈΠ»ΠΈ ΠΎ ΠΌΠΈΠΊΡΠΈΠ½Π΅ vs.Π‘ΠΈΡΡΠ°ΡΠΈΡ @extend
, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Ρ Π΄Π°Π» ΡΠ²ΠΎΠΉ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ . ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
, Π° Π²Π·Π°ΠΌΠ΅Π½ ΠΌΠ΅Π½Ρ ΡΠΏΡΠΎΡΠΈΠ»ΠΈ @extend
,
ΠΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ! ΠΠΎ ΡΠ°Π·Π²Π΅
@extend
Π½Π΅ Π»ΡΡΡΠ΅ Π΄Π»Ρ
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅? ΠΠ½ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΊΠΎΠ΄Π°.
ΠΡΠΎ ΠΏΡΠ°Π²Π΄Π°, ΡΡΠΎ @extend
(ΠΏΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ) Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΌΠ΅Π½ΡΡΠ΅ CSS, Π½ΠΎ ΠΌΠΎΠΈ
ΠΡΠ²Π΅Ρ Π±ΡΠ» ΡΠ²Π΅ΡΠ΄ΡΠΌ Π½Π΅Ρ: ΠΌΠΈΠΊΡΠΈΠ½Ρ Π»ΡΡΡΠ΅ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ .
Π― ΠΎΡΠ²Π΅ΡΠΈΠ» Π½Π° Π²ΠΎΠΏΡΠΎΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈ ΡΠ΄Π΅Π»Π°Π» ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΠ΅ΡΡΡ.ΠΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΌΠΎΠ΅ΠΉ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΠΈ Π±ΡΠ»Π° Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠΎΠ»ΠΈΠ΄Π½Π°Ρ ΡΠ΅ΠΎΡΠΈΡ ΡΡΠΎ Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ»ΠΎ:
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ gzip ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠ΅, ΠΌΡ, Π½Π΅ΡΠΎΠΌΠ½Π΅Π½Π½ΠΎ, ΠΏΠΎΠ»ΡΡΠΈΠΌ Π»ΡΡΡΡΡ ΡΡΠ΅ΠΏΠ΅Π½Ρ ΡΠΆΠ°ΡΠΈΡ Π΅ΡΠ»ΠΈ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠΈ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, 1000 ΡΠ°Π·, ΡΠ΅ΠΌ Π΅ΡΠ»ΠΈ Π±Ρ ΠΌΡ 1000 ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π΄Π²Π°ΠΆΠ΄Ρ.
ΠΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΠΊΠΎΠ³Π΄Π° Π»ΡΠ΄ΠΈ Π³ΠΎΠ²ΠΎΡΡΡ ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ², ΠΎΠ½ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ Π΄ΡΠΌΠ°ΡΡ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΡΠ°ΠΉΠ»Π° Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ Π½Π°Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ gzip (Π²Ρ , Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ gzip, Π½Π΅ ΡΠ°ΠΊ Π»ΠΈ?), ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ²Π΅ΡΡ ΡΠ΅ΡΡ .
Π― Π΄ΡΠΌΠ°Π», ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΆΠ°ΡΠΈΡ Π½Π°ΡΠ΅Π³ΠΎ CSS ΡΠ°ΠΉΠ»Ρ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠΉ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΡΡΠΎΠΊ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ Π±ΡΠ΄ΡΡ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Ρ, ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠ΅ΡΡ ΡΠ΅ΠΆΠ΅, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. Π― ΠΏΠΎΠ»ΠΎΠΆΠΈΠ» ΡΡΠΎ ΡΠ°ΠΉΠ» Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±ΡΠ΄Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΠΎΡΠ»Π΅ gzip , Π΅ΡΠ»ΠΈ ΡΡΠΎΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠ΅ΠΉΡΡ ΡΡΡΠΎΠΊΠΈ.
Π― Π²Π΅ΡΠ½ΡΠ»ΡΡ Π² ΡΠ²ΠΎΠΉ Π½ΠΎΠΌΠ΅Ρ Π² ΠΎΡΠ΅Π»Π΅ ΠΈ ΡΠ΅ΡΠΈΠ» ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ²ΠΎΡ ΡΠ΅ΠΎΡΠΈΡ.
ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ
ΠΠΎΡ ΡΡΠΎ Ρ ΡΠ΄Π΅Π»Π°Π».
- Π― ΡΠΎΠ·Π΄Π°Π» Π΄Π²Π° ΡΠ°ΠΉΠ»Π° CSS.
Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π±ΡΠ»ΠΎ 1000 ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Sass:
@ Π·Π° $ i ΠΎΡ 1 Π΄ΠΎ 1000 { . # {unique-id ()} - # {$ i} { ... } }
Π― Π΄Π°Π» ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΊΠ»Π°ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅, ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΡΡΠΎΠΊΡ ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π» ΡΠ°ΠΌΠΎ ΠΈΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ°, ΠΈ Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±Π΅ΡΡΠΌΡΡΠ»Π΅Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎ ΠΎΠ±Π΅ ΡΡΠΎΡΠΎΠ½Ρ ΠΎΡ ΡΡΠΎΠ³ΠΎ:
@ Π·Π° $ i ΠΎΡ 1 Π΄ΠΎ 1000 { . # {unique-id ()} - # {$ i} { ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅: "ibf # {&} jaslbw"; } }
ΠΠ°ΡΠ΅ΠΌ Ρ Π²ΡΠ±ΡΠ°Π» ΡΡΠΈ ΠΏΡΠΎΡΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΡΠ°Π½ΡΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ 1000 ΠΊΠ»Π°ΡΡΠΎΠ²:
ΡΠ²Π΅Ρ: ΠΊΡΠ°ΡΠ½ΡΠΉ; font-weight: ΠΆΠΈΡΠ½ΡΠΉ; Π²ΡΡΠΎΡΠ° ΡΡΡΠΎΠΊΠΈ: 2;
Π ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Ρ ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΡΡ ΡΡΠΈΠΌΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡΠΌΠΈ ΡΠ΅ΡΠ΅Π· ΠΌΠΈΠΊΡΠΈΠ½:
@mixin foo { ΠΊΡΠ°ΡΠ½ΡΠΉ ΡΠ²Π΅Ρ; font-weight: ΠΆΠΈΡΠ½ΡΠΉ; Π²ΡΡΠΎΡΠ° ΡΡΡΠΎΠΊΠΈ: 2; } .# {unique-id ()} - # {$ i} { @include foo; ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅: "ibf # {&} jaslbw"; }
Π Π² Π΄ΡΡΠ³ΠΎΠΌ Ρ ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΡΡ ΠΈΠΌΠΈ ΡΠ΅ΡΠ΅Π·
@extend
:% foo { ΠΊΡΠ°ΡΠ½ΡΠΉ ΡΠ²Π΅Ρ; font-weight: ΠΆΠΈΡΠ½ΡΠΉ; Π²ΡΡΠΎΡΠ° ΡΡΡΠΎΠΊΠΈ: 2; } . # {unique-id ()} - # {$ i} { @extend% foo; ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅: "ibf # {&} jaslbw"; }
ΠΡΠ΅ ΡΡΠΈ ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ (ΠΈ Π΄ΡΡΠ³ΠΈΠ΅) Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π° GitHub.
Π£ ΠΌΠ΅Π½Ρ ΠΎΡΡΠ°Π»ΠΈΡΡ Π΄Π²Π° ΡΠ°ΠΉΠ»Π°, ΡΠΎΡΡΠΎΡΡΠΈΠ΅ ΠΈΠ· ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ 1000 ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ, ΠΈ Ρ ΡΡΠ΅ΠΌΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΠΌΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡΠΌΠΈ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ Π² Π΄Π²ΡΡ ΡΠ°Π·Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ.
Π Π°Π·ΠΌΠ΅ΡΡ ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π°Ρ ΡΠ΄ΠΈΠ²Π»ΡΡΡ:
-
mixin.css
ΠΏΡΠΈΡΠ΅Π» Π½Π° 108K . -
extend.css
ΠΏΡΠΈΡΠ΅Π» Π½Π° 72K . - ΠΡΠΎ Π΄Π°Π΅Ρ ΡΠ°Π·Π½ΠΈΡΡ Π² ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΡΠ°ΠΉΠ»Π° 36K .
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ² Π±ΡΠ»ΠΎ Π½Π° 150% Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
@extend
.
ΠΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎ, ΡΡΠΎ Ρ ΠΎΠΆΠΈΠ΄Π°Π» — ΠΌΠΈΠΊΡΠΈΠ½Ρ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ Π±ΠΎΠ»ΡΡΠ΅ CSS, ΡΠ΅ΠΌ @extend
.
Π΄Π΅Π»Π°Π΅Ρ.
ΠΠΎ! ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Π½Π°ΠΌ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° — ΠΌΡ Π·Π°Π±ΠΎΡΠΈΠΌΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ Π½Π°ΡΠΈΡ ΡΠΆΠ°ΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
Π― ΡΠΌΠ΅Π½ΡΡΠΈΠ» ΠΈ Π·Π°Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π» Π΄Π²Π° ΡΠ°ΠΉΠ»Π° ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ:
-
mixin.css
ΠΏΡΠΈΡΠ΅Π» Π½Π° 12K . -
extend.css
ΠΏΡΠΈΡΠ΅Π» Π½Π° 18K . - ΠΡΠΎ Π΄Π°Π΅Ρ ΡΠ°Π·Π½ΠΈΡΡ Π² ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΡΠ°ΠΉΠ»Π° 6K .
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ² Π±ΡΠ»ΠΎ Π½Π° 33,333% ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
@extend
.
ΠΠΎΡΡΡΡΠ°ΡΡΠ΅! ΠΡ ΠΏΠ΅ΡΠ΅ΡΠ»ΠΈ ΠΎΡ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π² 1,5 ΡΠ°Π·Π° Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ @extend
, ΠΊ
ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π½Π° 0,3 Γ ΠΌΠ΅Π½ΡΡΠ΅ , ΡΠ΅ΠΌ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ @extend
. ΠΠΎΡ ΡΠ΅ΠΎΡΠΈΡ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π²Π΅ΡΠ½ΠΎΠΉ!
ΠΠ΅Π»Π°Π΅ΠΌ Π²Π΅ΡΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΡΠΌΠΈ
Π― Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ»ΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΈΠΌΠΈ — ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΡΡΡΠΎΠΊ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ° ΠΈΠΌΠ΅Π½Π° Π±ΡΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΆΠ°ΡΠΈΡ, ΡΡΠΎΠ±Ρ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π»ΠΈΡΠ½ΠΈΠ΅ gzip Π½Π° Π½Π°ΡΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΠΌΡ: ΠΎΠ±ΡΠΈΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ.
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ»ΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π½Π΅ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΡΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΡΠ΅ΡΠΈΠ» Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠΌΠ½Π΅Π΅.
Π― Π²Π·ΡΠ» ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ CSS ΠΈΠ· ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠ΄Π΅Π»Π°Π» Π΄Π²Π΅ Π΅Π³ΠΎ ΠΊΠΎΠΏΠΈΠΈ ΠΈ
Π― @import
ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π» ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΌΠΎΠΈΡ
ΡΠ΅ΡΡΠΎΠ²ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΡΠΎ Π·Π½Π°ΡΠΈΠ»ΠΎ
ΡΡΠΎ ΠΌΠΎΠΈ ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ»ΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 1794 ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ, ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΠΎΠ³ΠΎ CSS.
Π― ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π» ΠΊΠ°ΠΆΠ΄ΡΠΉ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ:
-
mixin.css
ΠΏΡΠΈΡΠ΅Π» Π½Π° 16K . -
extend.css
ΠΏΡΠΈΡΠ΅Π» Π½Π° 22K . - ΠΡΠΎ Π΄Π°Π΅Ρ ΡΠ°Π·Π½ΠΈΡΡ Π² ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΡΠ°ΠΉΠ»Π° 6K .
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ² Π±ΡΠ»ΠΎ Π½Π° 27% ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
@extend
.
ΠΠ±ΡΠΎΠ»ΡΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π° ΠΊΠ°ΠΆΡΡΡΡ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ (Π²ΡΠ΅Π³ΠΎ 6K), Π½ΠΎ Π² ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ
Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ 27% ΠΏΠΎ ΡΠ΅ΡΠΈ, ΠΏΡΠΎΡΡΠΎ Π²ΡΠ±ΡΠ°Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ
ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π°, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ @extend
Π΄Π»Ρ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ.
ΠΠΈΠΊΡΠΈΠ½Ρ Π»ΡΡΡΠ΅ ΠΏΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
ΠΠΎΠΈ ΡΠ΅ΡΡΡ ΡΠ±Π΅Π΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ ΠΌΠΈΠΊΡΠΈΠ½Ρ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ Π»ΡΡΡΠ΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡ Π΄Π»Ρ ΡΠ΅ΡΠΈ.
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΡΠ΅ΠΌ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ @extend
.Π’ΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ gzip, ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΡ ΠΏΠΎΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ
ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ , Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π½Π°ΡΠΈ Π½Π΅ΡΠΆΠ°ΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ .
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ @extend
Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. Π’Π°ΠΊΠΆΠ΅
ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ ΠΏΠ»ΠΎΡ
ΠΎ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ CSS, @extend
ΠΏΠ»ΠΎΡ
ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉ ΡΡΠΎ.
βοΈ ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ? ΠΡΠΏΠΈ ΠΌΠ½Π΅ ΠΊΠΎΡΠ΅!
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|---|
$ prototype-arrow-direction | ΠΠ°ΡΡΠ° | Π²Π½ΠΈΠ· | ΠΠ°ΡΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ Π²ΡΠ΅ ΡΡΡΠ΅Π»ΠΊΠΈ |
$ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΡΠ΅Π»ΠΊΠΈ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° | Π§ΠΈΡΠ»ΠΎ | 0.4375ΡΠ΅ΠΌ | Π¨ΠΈΡΠΈΠ½Π° ΡΡΡΠ΅Π»ΠΊΠΈ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
$ ΡΠ²Π΅Ρ ΡΡΡΠ΅Π»ΠΊΠΈ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° | Π¦Π²Π΅Ρ | $ ΡΡΡΠ½ΡΠΉ | Color of the Arrow, |
$ prototype-border-box-breakpoints | Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ | $ global-prototype-breakpoints | ΠΠ΄Π°ΠΏΡΠΈΠ²Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π΄Π»Ρ ΡΠ°ΠΌΠΊΠΈ. |
$ prototype-border-none-breakpoints | Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ | $ global-prototype-breakpoints | ΠΡΠ²Π΅ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π΄Π»Ρ Π³ΡΠ°Π½ΠΈΡΡ Π½Π΅Ρ. |
$ ΡΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π° Ρ Π³ΡΠ°Π½ΠΈΡΠ΅ΠΉ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° | Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ | $ global-prototype-breakpoints | ΠΠ΄Π°ΠΏΡΠΈΠ²Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π΄Π»Ρ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ Π³ΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ. |
$ ΡΠΈΡΠΈΠ½Π°-ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° | Π§ΠΈΡΠ»ΠΎ | rem-calc (1) | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ |
$ ΠΏΡΠΎΡΠΎΡΠΈΠΏ Ρ Π±ΠΎΡΠ΄ΡΡΠΎΠΌ | Π‘ΡΡΠΎΠΊΠ° | ΡΠ΅Π»ΡΠ½ΡΠΉ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ |
$ prototype-border-color | Π¦Π²Π΅Ρ | $ ΡΡΠ΅Π΄Π½Π΅-ΡΠ΅ΡΡΠΉ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ |
$ prototype-display-breakpoints | Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ | $ global-prototype-breakpoints | ΠΠ΄Π°ΠΏΡΠΈΠ²Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ |
$ ΠΏΡΠΎΡΠΎΡΠΈΠΏ Π΄ΠΈΡΠΏΠ»Π΅Ρ | ΠΠ°ΡΡΠ° | Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ | ΠΠ°ΡΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ Π²ΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ |
$ prototype-font-breakpoints | Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ | $ global-prototype-breakpoints | ΠΠ΄Π°ΠΏΡΠΈΠ²Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π΄Π»Ρ ΡΠΈΠΏΠΎΠ² ΡΡΠΈΠ»Π΅ΠΉ ΡΡΠΈΡΡΠΎΠ² |
$ ΠΌΠ΅ΠΆΠ±ΡΠΊΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° | Π§ΠΈΡΠ»ΠΎ | rem-ΡΠ°ΡΡ. (4) | Π Π°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π±ΡΠΊΠ²Π°ΠΌΠΈ |
$ ΠΏΡΠΎΡΠΎΡΠΈΠΏ-ΡΡΠΈΡΡ-Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ | Π§ΠΈΡΠ»ΠΎ | $ ΠΎΠ±ΡΠΈΠΉ Π²Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ | ΠΠ΅Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ |
$ prototype-font-bold | Π§ΠΈΡΠ»ΠΎ | $ global-weight-bold | ΠΠ΅Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ |
$ prototype-list-breakpoints | Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ | $ global-prototype-breakpoints | ΠΠ΄Π°ΠΏΡΠΈΠ²Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π΄Π»Ρ ΡΠΈΠΏΠΎΠ² ΡΡΠΈΠ»Π΅ΠΉ ΡΠΏΠΈΡΠΊΠΎΠ² |
$ ΠΏΡΠΎΡΠΎΡΠΈΠΏ-ΡΡΠΈΠ»Ρ-ΡΠΈΠΏ-Π½Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ | ΠΠ°ΡΡΠ° | Π΄ΠΈΡΠΊ | ΠΠ°ΡΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ Π²ΡΠ΅ |
$ ΠΏΡΠΎΡΠΎΡΠΈΠΏ-ΡΡΠΈΠ»Ρ-ΡΠΈΠΏ-Π·Π°ΠΊΠ°Π· | ΠΠ°ΡΡΠ° | Π΄Π΅ΡΡΡΠΈΡΠ½ΡΠΉ | ΠΠ°ΡΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ Π²ΡΠ΅ |
$ prototype-overflow-breakpoints | Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ | $ global-prototype-breakpoints | ΠΠ΄Π°ΠΏΡΠΈΠ²Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π΄Π»Ρ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ |
$ ΠΏΡΠΎΡΠΎΡΠΈΠΏ-ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ | ΠΠ°ΡΡΠ° | Π²ΠΈΠ΄ΠΈΠΌΡΠΉ | ΠΠ°ΡΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ Π²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ |
$ ΠΏΡΠΎΡΠΎΡΠΈΠΏ-ΠΏΠΎΠ·ΠΈΡΠΈΡ-ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° | Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ | $ global-prototype-breakpoints | ΠΠ΄Π°ΠΏΡΠΈΠ²Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π΄Π»Ρ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΏΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ |
$ ΠΏΡΠΎΡΠΎΡΠΈΠΏ-ΠΏΠΎΠ·ΠΈΡΠΈΡ | ΠΠ°ΡΡΠ° | ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ | ΠΠ°ΡΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ Π²ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ |
$ ΠΏΡΠΎΡΠΎΡΠΈΠΏ-ΠΏΠΎΠ·ΠΈΡΠΈΡ-z-ΠΈΠ½Π΄Π΅ΠΊΡ | Π§ΠΈΡΠ»ΠΎ | 975 | z-index Π΄Π»Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ |
$ ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ Ρ ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° | Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ | $ global-prototype-breakpoints | ΠΠ΄Π°ΠΏΡΠΈΠ²Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π΄Π»Ρ ΠΎΠΊΡΡΠ³Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΡΡΠΈ. |
$ prototype-border-radius | Π§ΠΈΡΠ»ΠΎ | rem-ΡΠ°ΡΡ. (3) | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ |
$ ΠΏΡΠΎΡΠΎΡΠΈΠΏ-ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ-ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° | Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ | $ global-prototype-breakpoints | ΠΠ΄Π°ΠΏΡΠΈΠ²Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π΄Π»Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ. |
$ ΠΏΡΠΎΡΠΎΡΠΈΠΏ-ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ-Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ | Π‘ΡΡΠΎΠΊΠ° | ΡΠ΅Π½ΡΡ | ΠΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. |
$ Π²ΡΡΠΎΡΠ° ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ°-ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ | Π§ΠΈΡΠ»ΠΎ | ΠΎΡΡΠ°ΡΠΎΠΊ (2) | ΠΡΡΠΎΡΠ° ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ. |
$ ΡΠΈΡΠΈΠ½Π°-ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ°-ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ | Π§ΠΈΡΠ»ΠΎ | 3rem | Π¨ΠΈΡΠΈΠ½Π° ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ. |
$ ΠΏΡΠΎΡΠΎΡΠΈΠΏ-ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ-ΡΠΎΠ½ | Π¦Π²Π΅Ρ | $ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ²Π΅Ρ | Π¦Π²Π΅Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. |
$ ΠΏΡΠΎΡΠΎΡΠΈΠΏ-ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ-Π²Π΅ΡΡ
Π½ΠΈΠΉ ΠΊΡΠ°ΠΉ | Π§ΠΈΡΠ»ΠΎ | $ Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΆΠ° | ΠΠ΅ΡΡ Π½Π΅Π΅ ΠΏΠΎΠ»Π΅ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ. |
$ prototype-shadow-breakpoints | Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ | $ global-prototype-breakpoints | ΠΠ΄Π°ΠΏΡΠΈΠ²Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π΄Π»Ρ ΡΠ΅Π½Π΅Π²ΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΡ. |
$ prototype-box-shadow | Π§ΠΈΡΠ»ΠΎ | 0 2px 5px 0 rgba (0,0,0 ,.16),
0 2px 10px 0 rgba (0,0,0, .12) | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ |
$ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° | Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ | $ global-prototype-breakpoints | ΠΠ΄Π°ΠΏΡΠΈΠ²Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠ² (ΠΏΠΎΠ»Ρ ΠΈ ΠΎΡΡΡΡΠΏΡ) |
$ Π Π°ΡΡΠ΅Ρ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° | ΠΠ°ΡΡΠ° | ΡΠΈΡΠΈΠ½Π° | ΠΠ°ΡΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ Π²ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ |
$ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° | ΠΠ°ΡΡΠ° | 25: 25% | ΠΠ°ΡΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ Π²ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ. |
$ ΠΏΡΠΎΡΠΎΡΠΈΠΏ-ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»-ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° | Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ | $ global-prototype-breakpoints | ΠΠ΄Π°ΠΏΡΠΈΠ²Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠ² (ΠΏΠΎΠ»Ρ ΠΈ ΠΎΡΡΡΡΠΏΡ) |
$ ΠΊΠΎΠ»-Π²ΠΎ ΠΏΡΠΎΡΡΠ°Π²ΠΎΠΊ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΎΠ² | Π§ΠΈΡΠ»ΠΎ | 3 | ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (ΠΏΠΎΠ»Ρ ΠΈ ΠΎΡΡΡΡΠΏΡ) |
$ ΠΏΡΠΎΡΠΎΡΠΈΠΏ-ΡΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅-ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° | Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ | $ global-prototype-breakpoints | ΠΠ΄Π°ΠΏΡΠΈΠ²Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° |
$ ΠΏΡΠΎΡΠΎΡΠΈΠΏ-ΡΠ΅ΠΊΡΡ-ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ | ΠΠ°ΡΡΠ° | Π½Π°Π΄ΡΡΡΠΎΡΠ½ΡΠΉ | ΠΠ°ΡΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ Π²ΡΠ΅ |
$ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° | Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ | $ global-prototype-breakpoints | ΠΠ΄Π°ΠΏΡΠΈΠ²Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° |
$ ΠΏΡΠΎΡΠΎΡΠΈΠΏ-ΡΠ΅ΠΊΡΡ-ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ | ΠΠ°ΡΡΠ° | ΡΡΡΠΎΡΠ½ΡΠ΅ | ΠΠ°ΡΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ Π²ΡΠ΅ |
$ ΠΏΡΠΎΡΠΎΡΠΈΠΏ-ΡΡΠΈΠ»ΠΈΡΡ-ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° | Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ | $ global-prototype-breakpoints | ΠΠ΄Π°ΠΏΡΠΈΠ²Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΡΠΈΠ»ΠΈΡ |
$ ΠΏΡΠΎΡΠΎΡΠΈΠΏ-ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ° | Π‘ΡΡΠΎΠΊΠ° | ΠΌΠ½ΠΎΠ³ΠΎΡΠΎΡΠΈΠ΅ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ |
css Β«ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ²Β» ΡΠΎ ΡΡΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ
Π― ΡΠ°ΡΡΠΎ ΡΠ»ΡΡΠ°Π» ΡΠ΅ΡΠΌΠΈΠ½ Β«ΠΌΠΈΠΊΡΠΈΠ½Β», Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ Π΅Π³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ½ΠΈ ΡΠ°ΠΊ ΡΠ΅Π½Π½Ρ.
Π― ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ Π³Π»Π°Π²Π° ΠΎ ΠΌΠΈΠΊΡΠΈΠ½Π°Ρ ΠΎΡ Object-Oriented CSS org ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Ρ ΠΎΡΠΎΡΠ΅Π΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΌΠΈΠΊΡΠΈΠ½Ρ, ΠΈ ΠΎΠ½ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΌΠΈΠΊΡΠΈΠ½Ρ ΠΊΠ°ΠΊ:
Mixins ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π°Π²ΡΠΎΡΠ°ΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ²ΠΎΠΉΡΡΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π΄ΡΡΠ³ΠΈΡ Π½Π°Π±ΠΎΡΠ°Ρ ΠΏΡΠ°Π²ΠΈΠ».
ΠΡΠ° Π³Π»Π°Π²Π° Π±ΡΠ»Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ, Π½ΠΎ Ρ Π½Π΅ ΠΏΠΈΡΡ CSS. ΠΠ»ΠΈ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ. ΠΠ΅ Π² ΡΠΌΡΡΠ»Π΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠΈΠ»Π΅ΠΉ.
ΠΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ Ρ ΠΈΠ·ΡΡΠ°Π» CSS Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² CSS-in-JS, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ styled-components
, ΡΠΌΠΎΡΠΈΠΉ
ΠΈ Ρ. Π.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π±ΡΠ»ΠΎ ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°ΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡ Π½Π° Π³ΡΠ°Π½ΠΈΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ , ΠΊΠ°ΠΊ CSS Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΡΡΡΠ°ΠΈΠ²Π°ΡΡ.
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π½Π΅Π΄Π°Π²Π½Π΅Π΅ ΠΎΡΠΊΡΡΡΠΈΠ΅ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ² Π±ΡΠ»ΠΎ Π±Π»Π°Π³ΠΎΠΌ Π΄Π»Ρ ΠΌΠΎΠ΅Π³ΠΎ CSS.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π±Π΅ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ css
, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΊΠ°ΠΊ:
ΡΠ΅ΠΌΠ° / mixins.js
ΠΈΠΌΠΏΠΎΡΡ {css} ΠΈΠ· 'styled-components'
ΡΠΊΡΠΏΠΎΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ {
ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄: (ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΡΠΈΠΏ = 'Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ', Π²ΡΠ΅ΠΌΡ = '0.25 Ρ ') => css`
ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄: $ {Π²ΡΠ΅ΠΌΡ} $ {ΡΠΈΠΏ};
ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ-ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄: $ {ΡΠ²ΠΎΠΉΡΡΠ²Π°};
Π±ΡΠ΄Π΅Ρ-ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅: $ {ΡΠ²ΠΎΠΉΡΡΠ²Π°};
`,
disabledStyle: (disabled = false) => css`
Π½Π΅ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΡ: $ {ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ? 0,6: ''};
ΠΊΡΡΡΠΎΡ: $ {ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ && `default`};
`,
}
ΠΠ°ΡΠ΅ΠΌ Ρ ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΡ Π΅Π³ΠΎ ΠΈΠ· ΡΠ΅ΠΌΡ / index.js
ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΡΠ΅ΠΌΠ° / index.js
ΡΠΊΡΠΏΠΎΡΡ {ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠ°ΠΊ ΠΌΠΈΠΊΡΠΈΠ½Ρ} ΠΈΠ· ./mixins
Π§ΡΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ°ΠΊΠ°Ρ Π²Π΅ΡΡ? ΠΠ΄ΠΈΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠΈ ΠΌΠΎΠΈΠΌΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π°ΠΌΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° / ΠΎΠ±Π΅ΡΡΠΊΠ°
ΠΈΠΌΠΏΠΎΡΡ {ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ²} ΠΈΠ· '../theme'
ΡΠΊΡΠΏΠΎΡΡ const Wrapper = styled.div`
/ * Π²ΡΠ΅ ΠΌΠΎΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΡΠΈΠ»ΠΈ * /
$ {mixins.transition ('Π½Π΅ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΡ')};
$ {({disabled}) => mixins.disabledStyle (disabled)};
`
Π§ΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠΎΠ³ΠΎ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ, Ρ ΡΠΎΠ±ΡΠ°Π» CodeSandBox. Π₯ΠΎΡΡ ΡΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΡΠ½ΡΠΌ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ Π΄Π΅ΡΡΡΠΊΠ°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΡΠΈΠ»Ρ.
65+ ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ² SASS Β»ΠΠ²ΡΠΎΡ CSS
SASS — ΡΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ CSS, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΌΠΈΠΊΡΠΈΠ½Ρ. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ SASS ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π²Π°ΠΌ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠΈΠ»Π΅ΠΉ. Π‘ΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π»ΠΎΠΊΠΈ ΡΡΠΈΠ»Π΅ΠΉ. ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄, Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π½Π°Π±ΠΈΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠ΄ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π°.
ΠΠΎ ΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ ΠΌΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ (ΡΠ΅Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ², ΡΠ·ΠΎΡΡ …). Π’Π°ΠΊ Π²Ρ ΠΏΠΎΠΉΠΌΠ΅ΡΠ΅, ΡΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°Π±Π»ΠΎΠ½Π° Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΌΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ Π²Π°ΡΠ΅ Π²ΡΠ΅ΠΌΡ. Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΎΡΠ»ΠΈΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΠΈ ΡΠΊΠΎΠ½ΠΎΠΌΡΡ Π²ΡΠ΅ΠΌΡ.
Π ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΠΎΠ»Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½ΡΡ SASS Mixins Library . ΠΡ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΠΈ ΠΏΡΠΎΡΡΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ.
ΠΡΡΠ±ΠΎΠ½
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Family.scss
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Π§Π΅ΡΡΠ΅ΠΆ
ΠΡΡΠΎΡΠ½ΠΈΠΊ
ΠΡΠ»Ρ
ΠΡΡΠΎΡΠ½ΠΈΠΊ
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΌΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Cssowl
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Π’ΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π°
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Scut
ΠΡΡΠΎΡΠ½ΠΈΠΊ
ΠΠ½ΠΎΠΏΠΊΠΈ
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Π¨Π°ΡΡΠ°Π½
ΠΡΡΠΎΡΠ½ΠΈΠΊ
ΠΠ°Π±ΠΎΡΠ½ΡΠ΅
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Sassline
ΠΡΡΠΎΡΠ½ΠΈΠΊ
ΠΠ½Π΄ΠΈ.scss
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Bi App Sass
ΠΡΡΠΎΡΠ½ΠΈΠΊ
ΠΠ΅ΡΠ·ΠΊΠΈΠ΅ Π²Ρ ΠΎΠ΄Ρ
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Π‘ΠΊΠ°Π»Ρ
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Π°Π½Π°Π½Π°Ρ-ΡΠ°Ρ
ΠΡΡΠΎΡΠ½ΠΈΠΊ
ΠΠΎΡΡΠ΅Π΄Π½ΠΈΠΊ ΠΎΡ
ΠΡΡΠΎΡΠ½ΠΈΠΊ
ΠΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Sass
ΠΡΡΠΎΡΠ½ΠΈΠΊ
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ² Sass
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Π±Π°ΠΉΡΠ°
ΠΡΡΠΎΡΠ½ΠΈΠΊ
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° BKWLD Sass
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Π‘Π°Π½Π΄Π°Π»ΠΈΠΈ Sass
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Spuit
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Π Π΅Π»ΡΡΡ Gintonic
ΠΡΡΠΎΡΠ½ΠΈΠΊ
DryGrapes
ΠΡΡΠΎΡΠ½ΠΈΠΊ
ΠΠ°Π±ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Sass
ΠΡΡΠΎΡΠ½ΠΈΠΊ
ΠΠΎΠ»Π΅Π·Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Sass
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Sass Config Manager
ΠΡΡΠΎΡΠ½ΠΈΠΊ
ΡΠ»ΠΎΠ½ΠΎΠ²Π°Ρ ΠΊΠΎΡΡΡ
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Π‘ΡΠΊΠΈΡΠΊΠΈ
ΠΡΡΠΎΡΠ½ΠΈΠΊ
ΠΠ΅ΡΠΊΡΡΠΈΠΉ
ΠΡΡΠΎΡΠ½ΠΈΠΊ
ΠΠ²ΡΠΎΠΏΡΠΈΡΡΠ°Π²ΠΊΠ°
ΠΡΡΠΎΡΠ½ΠΈΠΊ
XMixins
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Π€Π»ΡΡ
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Exsass
ΠΡΡΠΎΡΠ½ΠΈΠΊ
ΠΠ°Ρ Π°Π»ΡΠ½ΡΠΉ
ΠΡΡΠΎΡΠ½ΠΈΠΊ
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Crossass
ΠΡΡΠΎΡΠ½ΠΈΠΊ
QSL
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Π‘ΠΏΠ»Π°ΠΉΠ½
ΠΡΡΠΎΡΠ½ΠΈΠΊ
SilverSASS
ΠΡΡΠΎΡΠ½ΠΈΠΊ
z-ΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΡΡΠΎΡΠ½ΠΈΠΊ
ΠΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠ΅ ΠΌΠΈΠΊΡΡ
ΠΡΡΠΎΡΠ½ΠΈΠΊ
ΠΠ°ΡΠΈΠ·ΠΈΠΌΡ ΠΌΠΈΠΊΡΠΈΠ½Ρ
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Π‘ΠΌΠ΅ΡΠ°Π½Π½ΡΠΉ
ΠΡΡΠΎΡΠ½ΠΈΠΊ