SCSS: рдЙрдкрдпреЛрдЧреА рддрдХрдиреАрдХреЛрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ

CSS рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмреАрдЪ рддреЗрдЬреА рд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИрдВред рдХреНрдпреЛрдВ?
рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ:

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ SASS рдФрд░ LESS рд╣реИрдВред

рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ SASS LESS рд╕реЗ рдмреЗрд╣рддрд░ рдХреНрдпреЛрдВ рд╣реИ ред рдХреНрдпрд╛ рдпрд╣ рдмреЗрд╣рддрд░ рд╣реИ - рдПрдХ рдореБрдХреБрдЯ рдмрд┐рдВрджреБ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВрдиреЗ LESS рд╕реЗ SCSS рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рд╣реИ рдпрджрд┐ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХрд┐ рд╡рд╣рд╛рдБ рд╣реИ:

рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ SCSS рдФрд░ SASS рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореИрдВрдиреЗ CSS рдХреЗ рд╕рд╛рде рдкрд┐рдЫрдбрд╝реА рд╕рдВрдЧрддрддрд╛ рдХреЗ рдХрд╛рд░рдг SCSS рдХреЛ рдЪреБрдирд╛ рдФрд░, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЖрдпрд╛рдд рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкреБрд░рд╛рдиреА CSS рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ .scss рдореЗрдВ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ ред

Faiwer 1 рдФрд░ AbleBoy 2 рдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА SCSS рдмреЗрд╕рд┐рдХреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛, рдпрд╣рд╛рдБ рдореИрдВ рдХреБрдЫ рддрдХрдиреАрдХреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реА рдорджрдж рдХреАред

iterators


SCSS рдореЗрдВ рд▓реВрдкреНрд╕ рд╣реИрдВ , рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ!
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд╛рдЗрдЯ рд░рдВрдЧ рдкреИрд▓реЗрдЯ рд╣реИ, рдФрд░ рд╣рдо рдореЗрдиреВ рдХреЛ рдЙрд╕рдХреЗ рд╕рднреА рд░рдВрдЧреЛрдВ рдореЗрдВ рд░рдВрдЧрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

index.html :
<!DOCTYPE html> <html> <head> <title> </title> <link rel="stylesheet" href="css/style.css" /> </head> <body> <nav class="menu-main"> <ul> <li class="red"><a href="#"></a></li> <li class="orange"><a href="#"></a></li> <li class="green"><a href="#"></a></li> <li class="blue"><a href="#"></a></li> <li class="purple"><a href="#"></a></li> </ul> </nav> </body> </html> 


style.scss :
 $colors: #f74a3a #fcbe26 #8cc687 #4da5f2 #b01395; $i:0; .menu-main ul li { @each $col in red, orange, green, blue, purple { $i: $i + 1; &.#{$col} { background: nth($colors, $i); } } } 

рдПрд╕рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рдХреЛрдИ рд╡реГрджреНрдзрд┐ рдирд╣реАрдВ рд╣реИ (рдЗрд╕рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдлреЙрд░реЗрдХреНрд╕ рдХреЗ рдПрдирд╛рд▓реЙрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ), рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдЪрд╛рд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╣рдореЗрдВ $ рд░рдВрдЧреЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реНрдг рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ!
рдРрд╕рд╛ рдХреЙрдореНрдкреИрдХреНрдЯ рдХреЛрдб рдРрд╕реЗ CSS рдХреЛрдб рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ:

style.css
 .menu-main ul li.red { background: #f74a3a; } .menu-main ul li.orange { background: #fcbe26; } .menu-main ul li.green { background: #8cc687; } .menu-main ul li.blue { background: #4da5f2; } .menu-main ul li.purple { background: #b01395; } 

рдЬрд╡рд╛рдм-рдЯреВ


рдЗрд╕ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдЙрддреНрддрд░рджрд╛рдпреА рд▓реЗрдЖрдЙрдЯ рдХреЗ рд▓рд┐рдП рдореАрдбрд┐рдпрд╛ рдХреНрд╡реИрд╢реНрдЪрдВрд╕ рдХреЛ рдХреЙрдореНрдкреИрдХреНрдЯ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред

style.scss
 //  mixin @mixin respond-to($media) { @if $media == handhelds { @media only screen and (max-width: 479px) { @content; } } @else if $media == wide-handhelds { @media only screen and (min-width: 480px) and (max-width: 767px) { @content; } } @else if $media == tablets { @media only screen and (min-width: 768px) and (max-width: 959px) { @content; } } } .menu-main { float: left; width: 300px; //   @include respond-to(handhelds) { float: none; }; //      @include respond-to(wide-handhelds) { float: none; }; //   @include respond-to(tablets) { width: 240px; }; } 

CSS рдореЗрдВ, рдпрд╣ рдЗрддрдирд╛ рдХреЙрдореНрдкреИрдХреНрдЯ рдирд╣реАрдВ рд▓рдЧреЗрдЧрд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕ рдорд┐рдХреНрд╕рд┐рди рдХреЗ рдмрд╛рд░-рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП:

style.css
 .menu-main { float: left; width: 300px; } @media only screen and (max-width: 479px) { .menu-main { float: none; } } @media only screen and (min-width: 480px) and (max-width: 767px) { .menu-main { float: none; } } @media only screen and (min-width: 768px) and (max-width: 959px) { .menu-main { width: 240px; } } 

рдХреНрд░рд┐рд╕ Eppstein 3 рджреНрд╡рд╛рд░рд╛ SCSS рдФрд░ SASS рдореЗрдВ рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдкрдврд╝реЗрдВ

рдФрд░ рдЖрдк SCSS рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреАрд╡рди рдХреЛ рдХреИрд╕реЗ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рддреЗ рд╣реИрдВ?



1 - "рдПрд╕рд╕реАрдПрд╕рдПрд╕ - рдереЛрдбрд╝рд╛ рдЕрднреНрдпрд╛рд╕, рднрд╛рдЧ I"
2 - "SCSS рдФрд░ рдХрдореНрдкрд╛рд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрд▓рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдВ"
3 - рдХреНрд░рд┐рд╕ рдПрдкрд╕реНрдЯреАрди, рдЬреАрдердм: рдЬрд┐рд╕реНрдЯ, 1215856

UPD: рдЗрд╕ рдЬрд╛рдо рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд░реЗ рдореАрдбрд┐рдпрд╛ рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИред

Source: https://habr.com/ru/post/In151679/


All Articles