CSS рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмреАрдЪ рддреЗрдЬреА рд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИрдВред рдХреНрдпреЛрдВ?
рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ:
- рд╕рдордп рдмрдЪрд╛рдУ
- рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ DRY рд╕рд┐рджреНрдзрд╛рдВрдд рд▓рд╛рдЧреВ рдХрд░реЗрдВ
- рдХреЛрдб рдХреЛ рдЕрдзрд┐рдХ рдкрдардиреАрдп рдмрдирд╛рдПрдВред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░
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 -
рдХреНрд░рд┐рд╕ рдПрдкрд╕реНрдЯреАрди, рдЬреАрдердм: рдЬрд┐рд╕реНрдЯ, 1215856UPD:
рдЗрд╕ рдЬрд╛рдо рдХреЗ
рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд░реЗ рдореАрдбрд┐рдпрд╛ рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИред