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

рдЪрд░ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдХрд╕реНрдЯрдо рд╕реАрдПрд╕рдПрд╕ рдФрд░ рдПрд╕рдПрдПрд╕рдПрд╕ рдЧреБрдгреЛрдВ (рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реАрдПрд╕рдПрд╕ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░) рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдЖрдЗрдП рдПрдХ рдореВрд▓ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
SCSS рдореЗрдВ:$color-primary: hsl(220, 90%, 56%); .link { color: $color-primary; }
рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ: :root { --color-primary: hsl(220, 90%, 56%); } .link { color: var(--color-primary); }
рдХрд╕реНрдЯрдо рдЧреБрдг рдЖрдкрдХреЛ рд╕реАрдПрд╕рдПрд╕ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдЪрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ (рдпрд╛рдиреА рдПрд╕рдПрдПрд╕рдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред
рдХреНрдпрд╛ рд╡реЗ рдПрдХ рд╣реА рд╣реИрдВ? рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдирд╣реАрдВ! SASS рдЪрд░ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧреБрдг 1) рдЙрд╕ рддрддреНрд╡ рддрдХ рд╕реАрдорд┐рдд рд╣реИрдВ рдЬрд┐рд╕ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, 2) рдПрдХ рдЭрд░рдирд╛, 3) рдЙрдиреНрд╣реЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпреЗ рддреАрди рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдирдИ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреА рдПрдХ рдкреВрд░реА рджреБрдирд┐рдпрд╛ рдХреЛ рдЦреЛрд▓рддреА рд╣реИрдВред рдореБрдЭреЗ рдЖрдкрдХреЛ рдХреБрдЫ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ!
рд░рдВрдЧ рдереАрдо рдмрдирд╛рдПрдВ рдФрд░ рд▓рд╛рдЧреВ рдХрд░реЗрдВ
рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдЖрдк SASS рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЛ (рд╕рд░рд▓реАрдХреГрдд) рд░рдВрдЧ рдереАрдо рдХреИрд╕реЗ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:
$color-primary: blue; $color-text: black; $color-bg: white; $color-primary-invert: red; $color-text-invert: white; $color-bg-invert: black; .component { color: $color-text; background-color: $color-bg; a { color: $color-primary; } } .component--dark { color: $color-text-invert; background-color: $color-bg-invert; a { color: $color-primary-invert; } }
рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ "рдбрд┐рдлрд╝реЙрд▓реНрдЯ" рдереАрдо рдФрд░ рдПрдХ "рдбрд╛рд░реНрдХ" рдереАрдо рд╣реИ, рдЬрд╣рд╛рдВ рд╣рдо рдкреГрд╖реНрдарднреВрдорд┐ рдФрд░ рдкрд╛рда рдХреЗ рд▓рд┐рдП рд░рдВрдЧреЛрдВ рдХреЛ рдЙрд▓реНрдЯрд╛ рдХрд░рддреЗ рд╣реИрдВред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдПрдХ рдЕрдВрдзреЗрд░реЗ рд╡рд┐рд╖рдп рдореЗрдВ, рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдЬреЛ рд░рдВрдЧреАрди рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдирдП рдЪрд░ рдХреЗ рд╕рд╛рде рдЕрджреНрдпрддрди рдХрд░рддреЗ рд╣реИрдВредрдЬрдм рддрдХ рд╣рдо рд╕рд░рд▓реАрдХреГрдд (рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ) рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рдЪрд┐рдкрдХреЗ рд░рд╣рддреЗ рд╣реИрдВ, рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдЖрддреА рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реЗ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдШрдЯрдХ рд╣реИ? рд╣рдореЗрдВ рдЙрди рд╕рднреА рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдВ рд░рдВрдЧ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЪрд░ рдХреЛ рдирдП рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдЕрдЧрд░ рдЖрдк рдореБрдЦреНрдп рдШрдЯрдХ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕рднреА рд╕рдВрд╢реЛрдзрдХ рдХреЛ рджреЛрдмрд╛рд░рд╛ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рд╛рдБ ... рдЗрддрдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ!
рдЕрдкрдирд╛ рдврд╛рдВрдЪрд╛ рдмрдирд╛рддреЗ рд╕рдордп, рд╣рдо рд╕реАрдПрд╕рдПрд╕ рдЪрд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдЖрдПред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЪрд▓реЛ рд░рдВрдЧ рдХреЗ рд▓рд┐рдП рдЪрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
:root, [data-theme="default"] { --color-primary: blue; --color-bg: white; --color-contrast-lower: hsl(0, 0%, 95%); --color-contrast-low: hsl(240, 1%, 83%); --color-contrast-medium: hsl(240, 1%, 48%); --color-contrast-high: hsl(240, 4%, 20%); --color-contrast-higher: black; } [data-theme] { background-color: var(--color-bg); color: var(--color-contrast-high); } [data-theme="dark"] { --color-primary: red; --color-bg: black; --color-contrast-lower: hsl(240, 6%, 15%); --color-contrast-low: hsl(252, 4%, 25%); --color-contrast-medium: hsl(240, 1%, 57%); --color-contrast-high: hsl(0, 0%, 89%); --color-contrast-higher: white; }
рдиреЛрдЯ: рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдХрд▓рд░ рдереАрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛- * рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рд╕реАрдПрд╕рдПрд╕ рдЪрд░ рдФрд░ рдПрд╕рдПрдПрд╕ рдЪрд░ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдордиреЗ "рд╡рд┐рдкрд░реАрдд рдХреЗ рд╕реНрддрд░" рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд╛рдордХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддрдЯрд╕реНрде рдореВрд▓реНрдпреЛрдВ рдХреЗ рдкреИрдорд╛рдиреЗ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЕрдкрдиреЗ рджреВрд╕рд░реЗ, рддреАрд╕рд░реЗ, рдЪреМрдереЗ ... (рдЕрдВрдзреЗрд░реЗ) рд╡рд┐рд╖рдп рдХреЗ рд▓рд┐рдП рдирдП рд░рдВрдЧ рдЪрд░ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдПрд╕рдПрдПрд╕рдПрд╕ рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╣рдо рдореМрдЬреВрджрд╛ рдХрд╕реНрдЯрдо рдЧреБрдгреЛрдВ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣рд╛рдВ рдПрдХ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рд░рдВрдЧ рдЪрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
.component { color: var(--color-contrast-higher); background-color: var(--color-bg); border-bottom: 1px solid var(--color-contrast-low); a { color: var(--color-primary); } }
рдШрдЯрдХ рдХреЗ рдЕрдВрдзреЗрд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
рд╣рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд CSS рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЪреВрдВрдХрд┐ рд╣рдо рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЪрд░ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдХреЗрд╡рд▓ рддрдм рд░рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдЪрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрдм рдШрдЯрдХ рдкрд╣рд▓реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐
_colors.scss рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рдВрдЧ рдереАрдо рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдШрдЯрдХ рдХрд┐рддрдирд╛ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдШрдЯрдХреЛрдВ рдХреЗ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рд░рдВрдЧ рдЪрд░ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
рдЖрдк рдмрд╣реБрдд рд╕рд╛рдзрд╛рд░рдг рддрд░реАрдХреЗ рд╕реЗ рд░рдВрдЧ рдереАрдо рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
<section data-theme="dark"> <div class="component"> <div class="child" data-theme="default"></div> </div> </section>
рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдордиреЗ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдПрдХ рдбрд╛рд░реНрдХ рдереАрдо рдФрд░ .child рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдереАрдо рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рд╕рд╣реА рд╣реИ,
рдЖрдк рд░рдВрдЧ рд╡рд┐рд╖рдпреЛрдВ рдореЗрдВ рдирд┐рд╡реЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ!рдпрд╣ рд╕реАрдПрд╕рдПрд╕ рдЧреБрдгреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрднрд╡ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЬрд┐рд╕рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреА рд░реЛрдЪрдХ рдЪреАрдЬреЗрдВ рдХрдо рд╕реЗ рдХрдо рд╕рдордп рдореЗрдВ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗред

рдпрд╣рд╛рдБ рдХреБрдЫ рд▓рд┐рдВрдХ рджрд┐рдП рдЧрдП рд╣реИрдВ, рдпрджрд┐ рдЖрдк рдХреЛрдбрд╣рд╛рдЙрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рд░рдВрдЧреЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:
рдлрд╝реЙрдиреНрдЯ рд╕реНрдХреЗрд▓ рдкреНрд░рдмрдВрдзрди
рдПрдХ рдореЙрдбреНрдпреВрд▓рд░ рд╕реНрдХреЗрд▓ рд╕рд╛рдордВрдЬрд╕реНрдпрдкреВрд░реНрдг (рдЖрдпрд╛рдореА) рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ рдЬреЛ рдЯрд╛рдЗрдкреЛрдЧреНрд░рд╛рдлрд┐рдХ рддрддреНрд╡реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЖрдк SASS рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ SCSS рдореЗрдВ рдлрд╝реЙрдиреНрдЯ рдЖрдХрд╛рд░ рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
$text-xs: 0.694em; $text-sm: 0.833em; $text-base-size: 1em; $text-md: 1.2em; $text-lg: 1.44em; $text-xl: 1.728em;
рдПрдХ рдорд╛рдирдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдПрдХ рддреГрддреАрдп-рдкрдХреНрд╖ рдЙрдкрдХрд░рдг (рдпрд╛ рдЧрдгрд┐рддреАрдп рд╕рдВрдЪрд╛рд▓рди рдХрд░рдирд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдлрд╝реЙрдиреНрдЯ рд╕реНрдХреЗрд▓ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдлрд┐рд░ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдорд╛рдиреЛрдВ рдХреЛ рдЕрдкрдиреА рд╢реИрд▓реА рдореЗрдВ рдЖрдпрд╛рдд рдХрд░реЗрдВред
рдлреНрд░реЗрдорд╡рд░реНрдХ рдмрдирд╛рддреЗ рд╕рдордп, рд╣рдордиреЗ
_typography.scss рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреВрд░реЗ рдкреИрдорд╛рдиреЗ рдХреЗ рд╕реВрддреНрд░ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛
ред рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╣рдордиреЗ рд╕реАрдПрд╕рдПрд╕ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝реЙрдиреНрдЯ рдЖрдХрд╛рд░ рдХреИрд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ:
:root { // --text-base-size: 1em; // --text-scale-ratio: 1.2; --text-xs: calc((1em / var(--text-scale-ratio)) / var(--text-scale-ratio)); --text-sm: calc(var(--text-xs) * var(--text-scale-ratio)); --text-md: calc(var(--text-sm) * var(--text-scale-ratio) * var(--text-scale-ratio)); --text-lg: calc(var(--text-md) * var(--text-scale-ratio)); --text-xl: calc(var(--text-lg) * var(--text-scale-ratio)); --text-xxl: calc(var(--text-xl) * var(--text-scale-ratio)); --text-xxxl: calc(var(--text-xxl) * var(--text-scale-ratio)); }
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдХреНрдпрд╛ рдлрд╛рдпрджрд╛ рд╣реИ? рдпрд╣ рдХреЗрд╡рд▓ рджреЛ рдЪрд░ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рд╕рдВрдкреВрд░реНрдг рдореБрджреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ:
--text-base-size (рдмреЗрд╕ рдлреЙрдиреНрдЯ рдХрд╛ рдЖрдХрд╛рд░) рдФрд░
--text-scale-ratio (рд╕реНрдХреЗрд▓ рдлреИрдХреНрдЯрд░)ред
"рдХреНрдпрд╛ рдЖрдк рд╕рд╛рд╕ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ?" рдирд╣реАрдВ рдЕрдЧрд░ рдЖрдк рдореАрдбрд┐рдпрд╛ рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдЯрд╛рдЗрдкреЛрдЧреНрд░рд╛рдлреА рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:
:root { @include breakpoint(md) { --text-base-size: 1.25em; --text-scale-ratio: 1.25; } }
рдпрд╣ рдЯреБрдХрдбрд╝рд╛ рд╣рдорд╛рд░реЗ рд▓рдЪреАрд▓реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдЖрдзрд╛рд░рд╢рд┐рд▓рд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд░рд┐рд╢реНрддреЗрджрд╛рд░ Ems рдЗрдХрд╛рдЗрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬрдм рдЖрдк рдмрджрд▓рддреЗ рд╣реИрдВ -
рдЯреЗрдХреНрд╕реНрдЯ-рдмреЗрд╕-рдЖрдХрд╛рд░ (рдмреЗрд╕ рдлрд╝реЙрдиреНрдЯ рдХрд╛ рдЖрдХрд╛рд░), рддреЛ рдпрд╣ рдЯрд╛рдЗрдкреЛрдЧреНрд░рд╛рдлреА рдФрд░ рд░рд┐рдХреНрддрд┐ рджреЛрдиреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдЖрдкрдХреЛ рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдорд┐рд▓рддреА рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЛ рдЖрдХрд╛рд░ рджреЗрддреА рд╣реИ рдФрд░ рдШрдЯрдХ рд╕реНрддрд░ рдкрд░ рдореАрдбрд┐рдпрд╛ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рдпрд╣рд╛рдВ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рд╕рдВрдмрдВрдзрд┐рдд рд▓рд┐рдВрдХ рджрд┐рдП рдЧрдП рд╣реИрдВ:
рджреВрд░реА рдкреИрдорд╛рдиреЗ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг
рдЕрдВрддрд░рд╛рд▓ рдкреИрдорд╛рдиреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреИрдорд╛рдиреЗ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдерд╛рдирд┐рдХ рдореВрд▓реНрдпреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рд╕реНрдХреЗрд▓ рд╕реВрддреНрд░ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рд╕реЗ рд╣рдореЗрдВ рдЕрдВрддрд░рд╛рд▓ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдЙрддреНрддрд░рджрд╛рдпреА рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓реА:
:root { --space-unit: 1em; --space-xxxxs: calc(0.125 * var(--space-unit)); --space-xxxs: calc(0.25 * var(--space-unit)); --space-xxs: calc(0.375 * var(--space-unit)); --space-xs: calc(0.5 * var(--space-unit)); --space-sm: calc(0.75 * var(--space-unit)); --space-md: calc(1.25 * var(--space-unit)); --space-lg: calc(2 * var(--space-unit)); --space-xl: calc(3.25 * var(--space-unit)); --space-xxl: calc(5.25 * var(--space-unit)); --space-xxxl: calc(8.5 * var(--space-unit)); --space-xxxxl: calc(13.75 * var(--space-unit)); } @supports(--css: variables) { :root { @include breakpoint(md) { --space-unit: 1.25em; } } }
рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдКрдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рдЯрд╛рдЗрдкреЛрдЧреНрд░рд╛рдлреА рдкрджреНрдзрддрд┐ рдХреЗ рд╕рдВрдпреЛрдЬрди рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред CSS рдХреА рдХреБрдЫ рд╣реА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде, рдЖрдкрдХреЛ рдЙрддреНрддрд░рджрд╛рдпреА рдШрдЯрдХ рдорд┐рд▓рддреЗ рд╣реИрдВ:

рдЗрд╕ рд╕реНрдкреЗрд╕рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдИрдПрдордПрд╕ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдФрд░ рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рд╕реНрдкреЗрд╕рд┐рдВрдЧ рдФрд░ рдЯрд╛рдЗрдкреЛрдЧреНрд░рд╛рдлреА рдХреЗ рдЖрдХрд╛рд░ рдПрдХ рдореАрдбрд┐рдпрд╛ рдХреНрд╡реЗрд░реА рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд┐рдВрджреБ рдкрд░ рд╕рд╣реА рджрд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдореАрдбрд┐рдпрд╛ рдХреНрд╡реЗрд░реА рдХреЗ рд╕рднреА рдмрд┐рдВрджреБрдУрдВ рдкрд░ рд▓рдЧрднрдЧ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рд╣реА рджрд┐рдЦреЗрдВрдЧреЗ, рдлрд┐рд░ рднреА рдХрд┐ рдЖрдк рдорд╛рди -
рдХреНрд╖реЗрддреНрд░-рдЗрдХрд╛рдИ рдХреЛ рдЕрджреНрдпрддрди рдХрд░реЗрдВ
ред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдбрд┐рдЬрд╛рдЗрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ (рдЬрдм рддрдХ рдХрд┐ рдореИрдВ рдШрдЯрдХ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛)ред
рдЕрдзрд┐рдХ рд╕рдВрдмрдВрдзрд┐рдд рд▓рд┐рдВрдХ:
рдШрдЯрдХ рд╕реНрддрд░ рдкрд░ "рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд▓рдп" рдХрд╛ рд╕рдВрдкрд╛рджрди
рдПрд╕рдПрдПрд╕рдПрд╕ рдЪрд░ рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╣рдо рд╕реАрдПрд╕рдПрд╕ рдЪрд░ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдХрд╕реНрдЯрдо рдЧреБрдгреЛрдВ рдХреЛ рдЕрдиреНрдп рдХрд╕реНрдЯрдо рдЧреБрдгреЛрдВ рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ "рдирд┐рдпрдВрддреНрд░рдг" рдмрдирддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдШрдЯрдХ рд╕реНрддрд░ рдкрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдЬрдм рдЖрдк рдкрд╛рда рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд░рд┐рдХреНрддрд┐ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рдВрднрд╡рддрдГ рдЕрдкрдиреЗ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП
рд▓рд╛рдЗрди-рдКрдБрдЪрд╛рдИ рдФрд░
рдорд╛рд░реНрдЬрд┐рди-рдиреАрдЪреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:
.article { h1, h2, h3, h4 { line-height: 1.2; margin-bottom: $space-xs; } ul, ol, p, blockquote { line-height: 1.5; margin-bottom: $space-md; } }
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдЧрддрд┐ рдкрд╛рда рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ рдкрд╛рда рдЕрдзрд┐рдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╣реЛ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рдШрдЯрдХ рдкреНрд░рдХрд╛рд░ (рд╕рдВрд╢реЛрдзрдХ) рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдореВрд▓реНрдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ:
.article--sm { h1, h2, h3, h4 { line-height: 1.1; margin-bottom: $space-xxxs; } ul, ol, p, blockquote { line-height: 1.4; margin-bottom: $space-sm; } }
... рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рд░ рдмрд╛рд░, рдпрджрд┐ рдЖрдк "рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд▓рдп" рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдпрд╣рд╛рдБ рд╕реАрдПрд╕рдПрд╕ рдЪрд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
.text-component { --component-body-line-height: calc(var(--body-line-height) * var(--line-height-multiplier, 1)); --component-heading-line-height: calc(var(--heading-line-height) * var(--line-height-multiplier, 1)); --line-height-multiplier: 1; --text-vspace-multiplier: 1; h1, h2, h3, h4 { line-height: var(--component-heading-line-height); margin-bottom: calc(var(--space-xxxs) * var(--text-vspace-multiplier)); } h2, h3, h4 { margin-top: calc(var(--space-sm) * var(--text-vspace-multiplier)); } p, blockquote, ul li, ol li { line-height: var(--component-body-line-height); } ul, ol, p, blockquote, .text-component__block, .text-component__img { margin-bottom: calc(var(--space-sm) * var(--text-vspace-multiplier)); } }
-рд▓рд╛рдЗрди-рдКрдВрдЪрд╛рдИ-рдЧреБрдгрдХ рдФрд░ -
рдкрд╛рда-рдХреНрд╖реЗрддреНрд░-рдЧреБрдгрдХ рджреЛ рдкрд╛рда рдШрдЯрдХ рдирд┐рдпрдВрддреНрд░рдг рдЪрд░ рд╣реИрдВред рдЬрдм рд╣рдо
.text- рдШрдЯрдХ рд╡рд░реНрдЧ рдХреЗ рд╕рдВрд╢реЛрдзрдХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдЕрдВрддрд░рд╛рд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдЗрди рдирдП рд╡реЗрд░рд┐рдПрдВрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
.article.text-component { // --line-height-multiplier: 1.13; // --text-vspace-multiplier: 1.2; // }
рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдЖрдЬрдорд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдзреНрдпрд╛рди рджреЗрдВ:
рд╕рд╛рд░ рд╡реНрдпрд╡рд╣рд╛рд░
рдПрдХ рдШрдЯрдХ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдХрд┐рд╕реА рднреА рд╕рдордп рдЬрдм рдЖрдк рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдЪрд░ рдореЗрдВ рдПрдХ рдШрдЯрдХ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕рд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреЗ рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрдм рдЗрд╕ рдШрдЯрдХ рдХреЛ рд╕рдВрдкрд╛рджрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдпрд╛ рдЖрдкрдХреЛ рдШрдЯрдХ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ)ред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣рдорд╛рд░рд╛
рдСрдЯреЛ рд╕рд╛рдЗрдЬрд╝рд┐рдб рдЧреНрд░рд┐рдб рдШрдЯрдХ рд╣реИ, рдЬрд╣рд╛рдБ рд╣рдо рдПрдХ рд▓реЗрдЖрдЙрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП CSS рдЧреНрд░рд┐рдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдБ рдЧреИрд▓рд░реА рддрддреНрд╡ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ CSS рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдиреНрдпреВрдирддрдо рдЪреМрдбрд╝рд╛рдИ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╕реНрдерд╛рди рдХреЛ рднрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ рд╣рдо рддрддреНрд╡реЛрдВ рдХреА
рдиреНрдпреВрдирддрдо рдЪреМрдбрд╝рд╛рдИ рдХреЛ рд╕рд╛рд░
рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдПрдХ рдЪрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВред
рдиреНрдпреВрдирддрдо рдЖрдХрд╛рд░ рдорд╛рди рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдСрдЯреЛ рд╕рд╛рдЗрдЬрд╝ рдЧреНрд░рд┐рдб рдШрдЯрдХ рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рддреЗ рд╕рдордп рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред
рдХреИрдЪ рдХреНрдпрд╛ рд╣реИ?
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдорд░реНрдерди ... рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рднреА рддрд░реАрдХреЛрдВ рд╕реЗ
PostCss рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реАрдПрд╕рдПрд╕ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреБрд░рд╛рдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕реАрдорд╛рдПрдБ рд╣реИрдВ (<IE11)ред рдЕрдиреНрдпрдерд╛, рдпрд╣ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд╣реИред рдЖрдЬ рд╕реАрдПрд╕рдПрд╕ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕реАрдорд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВред
рдХреНрдпрд╛ рдореИрдВ рдПрдХ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╕рд╛рде рд╕реАрдПрд╕рдПрд╕ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
рд╣рд╛рдБ! рдЬрдмрдХрд┐ SASS (рдпрд╛ рдХреЛрдИ рдЕрдиреНрдп рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░) рдЖрдкрдХреЛ рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рд╡рд╣ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЖрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рди рдХрд░реЗрдВ?
SASS рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рддрдХ рдкрд╣реБрдБрдЪрддреЗ рд╕рдордп рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдЖрдкрдХреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ рдПрдХ рдЙрдкрдХрд░рдг рд╣реИред рд╣рдо рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
CSS рдЪрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ
рд░рдВрдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SASS рдХрд╛ рдЙрдкрдпреЛрдЧ
рдХрд░рддреЗ рд╣реИрдВредрдирд┐рд╖реНрдХрд░реНрд╖
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдордиреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рджреЗрдЦрд╛ рдЬреЛ SASS рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдкрд░ рд╕реАрдПрд╕рдПрд╕ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдн рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдордиреЗ рдЗрд╕ рдмрд╛рдд рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рд╡реЗ рдЖрдкрдХреЛ рдХреИрд╕реЗ "рдирд┐рдпрдВрддреНрд░рдг" рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдЬреЛ рдмрджрд▓рддреЗ рдШрдЯрдХреЛрдВ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЧрддрд┐ рджреЗрддреЗ рд╣реИрдВ рдпрд╛ рдЯрд╛рдЗрдкреЛрдЧреНрд░рд╛рдлреА рдФрд░ рдЕрдВрддрд░рд╛рд▓ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдирд┐рдпрдореЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдордиреЗ рдмрд╣реБрдд рдХреБрдЫ рдорд╛рдирд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рдкреЛрд╕реНрдЯ рд╕реЗ рдХреБрдЫ рд╕реАрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рдХрд╛рдо рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред