LESS рдореЗрдВ рдирд╛рдорд┐рдд рдЪрд░реЛрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ (jsFiddle рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде)

рд╕рдордЭрд╛ рджреЛ, рдореИрдВ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред рд▓реЗрдХрд┐рди рдореИрдВ рдХреБрдЫ рд╢рдмреНрдж рдХрд╣реВрдВрдЧрд╛ред

LESS рдПрдХ рдЧрддрд┐рд╢реАрд▓ рд╢реИрд▓реА рдорд╛рд░реНрдХрдЕрдк рднрд╛рд╖рд╛ рд╣реИ рдЬреЛ рдорд╛рдирдХ CSS рдореЗрдВ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреА рд╣реИред LESS рдЪрд░ *, рд╕рдВрдЪрд╛рд▓рди рдФрд░ рдХрд╛рд░реНрдпреЛрдВ (рдЧреИрд░-рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рд╕реЗрдЯ) рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдорд┐рд╢реНрд░рдг ** рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрдХрд▓рди рдореЗрдВ рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЛ рд╢реИрд▓рд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрдЪрд╛рд▓рди рдФрд░ рдХрд╛рд░реНрдп - рдЧрдгрдирд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рджреНрд╡рд╛рд░рд╛ред

рд╕рдорд╕реНрдпрд╛

рдорд┐рдХреНрд╕рд┐рдВрдЧ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╕рдордп, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рдиреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рднреА рдпрд╛ рднрд╛рдЧ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдорд┐рдХреНрд╕рд░ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рд▓реЗрдХрд┐рди LESS рдореЗрдВ рдорд┐рд╢реНрд░рдХ рдЕрднреА рддрдХ рдирд╛рдорд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдЕрдЧрд░ рдорд┐рд╢реНрд░рдг 10 рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдХреНрд░рдо рдореЗрдВ рдХреЗрд╡рд▓ рджрд╕рд╡реЗрдВ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдкрд┐рдЫрд▓реЗ рдиреМ рдХреЛ рднреА рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╣рд╛рдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рдеред


рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐рдпреЛрдВ


рдЕрдВрдХрди

<div class="base-1">  "BASE-1" </div> <div class="extension">  "EXTENSION" </div> <div class="base-2">  "BASE-2" </div> 


рд▓реЗрд╕ рд╕реНрдЯрд╛рдЗрд▓реНрд╕

 /*     - */ .f-border ( @width: 4px, @style: solid, @color: #BE2 ) { border: @width @style @color; } /*     */ .base-1 { .f-border; } /*   c  */ /*      */ .extension { .f-border(4px, solid, #F16); } /*     */ .base-2 { .f-border; } 


рдкрд░рд┐рдгрд╛рдо


рд╕реНрд░реЛрдд рдХреЛрдб jsFiddle.net *** рдкрд░ред

рд╕рдорд╕реНрдпрд╛

.extension рдХреНрд▓рд╛рд╕ рдореЗрдВ, рдПрдХ .extension рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдмрдЬрд╛рдп рддреАрди рдХреЛ .extension рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рджреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВред рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВред рд▓реЗрдХрд┐рди, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЬрдЯрд┐рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рдЯреИрдм рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд╢реНрд░рдг 18 рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрддрд╛ рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ LESS рдХреЗ рд▓рд╛рднреЛрдВ рдХреЛ рдирд╛рдорд╛рдВрдХрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рд╕реЗ рдХрд╛рдлреА рдЫреВрдЯ рдорд┐рд▓рддреА рд╣реИред

рдирд┐рд░реНрдгрдп


рдЪрд░ рдФрд░ рдорд┐рд╢реНрд░рдг рдХреЗ рджрд╛рдпрд░реЗ рдпрд╣рд╛рдВ рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрддреЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рдиреЛрдВ рдХреЛ рдЪрд░ рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдорд┐рдХреНрд╕реА рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╕рдордп, рдЙрдкрд░реЛрдХреНрдд рдЪрд░ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░реЗрдВред рдХрд┐рд╕реА рднреА рд╡рд░реНрдЧ рд╕реЗ рдорд┐рдХреНрд╕рд┐рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдЪрд░ рдмрджрд▓реЗрдВред рдмрд┐рдирд╛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдПрдХ рдорд┐рд╢реНрд░рдг рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ (рдпрд╛ рдХреНрд░рдо рдореЗрдВ рдХрдИ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде)ред рдЪреВрдВрдХрд┐ рдЪрд░ рд╡рд░реНрдЧ рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рдмрджрд▓рддрд╛ рд╣реИ, рдорд┐рдХреНрд╕рд┐рди рдХреЛ рдмрджрд▓реЗ рд╣реБрдП рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдЫреЛрдбрд╝рддреЗ рд╕рдордп, рдЪрд░ рдЕрдкрдиреЗ рдкреВрд░реНрд╡ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдореВрд▓реНрдпреЛрдВ рдкрд░ рд▓реМрдЯ рдЖрдПрдВрдЧреЗред

рд▓реЗрд╕ рд╕реНрдЯрд╛рдЗрд▓реНрд╕

 /*  */ @f-border-width: 4px; @f-border-style: solid; @f-border-color: #BE2; /*   */ /*  - -  */ .f-border ( @width: @f-border-width, @style: @f-border-style, @color: @f-border-color ) { border: @width @style @color; } /*     */ .base-1 { .f-border; } /*       */ /*     */ .extension { @f-border-color: #F16; .f-border; } /*     */ .base-2 { .f-border; } 


рдкрд░рд┐рдгрд╛рдо


рд╕реНрд░реЛрдд рдХреЛрдб jsFiddle.net рдкрд░ ред

рдЯрд┐рдкреНрдкрдгреА:

* LESS рдХреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХрд╣рддреА рд╣реИ рдХрд┐ "рдЪрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрдерд┐рд░рд╛рдВрдХ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред" рд▓реЗрдХрд┐рди рдПрдХ рдФрд░ рдирдЬрд╝рд░рд┐рдпрд╛ рд╣реИ ред
** рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ "рдорд┐рд╢реНрд░рдг" рдХреЗ рд░реВрдк рдореЗрдВ рдореВрд▓ "рдорд┐рдХреНрд╕рд┐рди" рдХреЗ рдЕрдиреБрд╡рд╛рдж рдХреЗ рд╕рдорд░реНрдердХ рд╣реИрдВ , рддрдХрдиреАрдХ рдХреЗ рд╕рд╛рде рдЙрдзрд╛рд░ рд▓реЗрдиреЗ рдХреА рд╢рд░реНрддреЗрдВ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдХрд╛рд░реНрдмрдирд┐рдХ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдмрд╛рд╣рд░реА рд╕рдВрджрд░реНрднреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдЙрдзрд╛рд░ рдЕрд░реНрде рдореЗрдВ рд╕рдорд╛рди рд╣реИред
*** jsFiddle.net рдкрд░ LESS рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдоред Js рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдбрд┐рдЯ рдкреИрдирд▓ рдореЗрдВ рджреЛ рд▓рд╛рдЗрдиреЗрдВ рдЬреЛрдбрд╝реЗрдВ
 document.getElementsByTagName('head')[0].getElementsByTagName('style')[0].type = 'text/less'; less.refreshStyles(); 

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


All Articles