Less.js: :рд╡рд┐рд╕реНрддрд╛рд░ рдорд┐рд╢реНрд░рдг

рдХреЛ рдирд┐рд░реНрдорд┐рдд 12 рдлрд╝рд░ре░ 2013  ┬╖  112рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: less/less.js

рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ https://github.com/cloudhead/less.js/issues/1155

рдпрд╣ рд╕рд╛рд░ рд╣реИ

рдорд┐рдХреНрд╕рд┐рдВрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдорд╛рд▓ рдХреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдЧрддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдореЗрд░реЗ рдХрд╛рдо рдХреА рд╕рддрд╣ рдХреЛ рд╕рд╛рдл рд░рдЦрддреЗ рд╣реИрдВ, рдореБрдЭреЗ рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд▓рд┐рдЦрдирд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрдХрд▓рд┐рдд рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдорд┐рд╢реНрд░рдгреЛрдВ рдХрд╛ рдПрдХ рдиреБрдХрд╕рд╛рди рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ DRY рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдЦрд╛рд╕рдХрд░ рдЬрдм рдЖрдк "рдпреВрдЯрд┐рд▓рд┐рдЯреА" рдорд┐рдХреНрд╕рд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХреНрд▓реАрдпрд░рдлрд┐рдХреНрд╕ред рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ _could_ рдПрдХ рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЛ рдмрдврд╝рд╛рддреЗ рд╣реИрдВ , рддреЛ рдорд┐рд╢реНрд░рдг рдХрд╛

.clearfix() {
    // stuff
}
.navbar {
    &:extend(.clearfix());
}
.banner {
    &:extend(.clearfix());
}

рдФрд░ рд╕рдВрдХрд▓рд┐рдд рдкрд░рд┐рдгрд╛рдо рд╣реЛрдЧрд╛:

.navbar,
.banner {
   // clearfix stuff
}

рддреЛ рдорд┐рд╢реНрд░рдг рдЧреБрдг рдЕрднреА рднреА рдЙрди рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдмрдврд╝рд╛рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдорд┐рд╢реНрд░рд┐рдд (рдЪрдпрдирдХрд░реНрддрд╛) рд╕реНрд╡рдпрдВ рд╕рдВрдХрд▓рд┐рдд рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред

рдпрд╣ рд╡рд┐рд╕реНрддрд╛рд░ рдФрд░ рдорд┐рд╢реНрд░рдг рджреЛрдиреЛрдВ рдХреЛ рдЕрдкрдиреЗ рдЖрдк рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдмрдирд╛ рджреЗрдЧрд╛ред

feature request medium priority up-for-grabs

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реЗрд╡рд╛ рдШреЛрд╖рдгрд╛

рдХрд┐рд╕реА рднреА рд╕рдордп, рдЖрдк рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╡рд┐рд▓рдп рдХреА рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдХрдо.рдЬреЗрдПрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ рд▓реЛрдЧреЛрдВ рдЬреИрд╕реЗ рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдирд┐рдпрдорд┐рдд рдпреЛрдЧрджрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ . рдпрд╣ рдХрд┐рд╕реА рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдирд╣реАрдВ рд╣реИред рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ рдХрд┐ рд╡рд╣ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реИ, рдпрд╛ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рдХрд╛рд▓ рд░рд╣рд╛ рд╣реИред

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

рдЗрдирдореЗрдВ рд╕реЗ рдХрдИ рдХрд╛рд░реНрдп рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреЛ рдЗрди рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдЦрд░реНрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдк рдПрдХ рдбреЗрд╡рд▓рдкрд░ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИ, "рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдордп рдирд╣реАрдВ рд╣реИ," рддреЛ рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдЦреБрд▓рд╛ рдкрдбрд╝рд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рд╕реБрд╡рд┐рдзрд╛ рдкреВрд░реА рд╣реЛ рдЬрд╛рддреА рд╣реИ рддреЛ рдпрд╣ рдЖрдкрдХреЗ рдКрдкрд░ 100% рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдкреВрдЫрдирд╛ рдХрд┐ рдЗрд╕реЗ "рдХрд┐рд╕реА" рджреНрд╡рд╛рд░рд╛ рдХреНрдпреЛрдВ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИред _рдЖрдк рд╡реЛ рд╣реИрдВ рдХреЛрдИред_ рдпрд╣ рд╣реЛрдЧрд╛, рдореИрдВ _рдЧрд╛рд░рдВрдЯреА_ рдпрд╣ рд╣реЛрдЧрд╛, рдЕрдЧрд░ рдФрд░ рдЬрдм рдЖрдк рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗред рдЖрдк рд╡реЗрдм рдкрд░ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдУрдкрди рд╕реЛрд░реНрд╕ рдЯреВрд▓ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк... рд╣рдЬрд╛рд░реЛрдВ рд▓реЛрдЧреЛрдВ рдХреЗ рдЬреАрд╡рди рдореЗрдВ рдмрджрд▓рд╛рд╡ рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ? рд╕реИрдХрдбрд╝реЛрдВ рд╣рдЬрд╝рд╛рд░реЛрдВ? рд▓рд╛рдЦреЛрдВ? рдФрд░ рдПрдХ рд╕рд╛рдЗрдб рдмреЗрдирд┐рдлрд┐рдЯ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреА рдкрд╕рдВрджреАрджрд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдмрд╛рдж рдореЗрдВ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЬрд▓реНрдж рд╣реА рд╣реЛрдВред

рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдпрд╛ рдХреЛрдИ рд╕реБрд╡рд┐рдзрд╛ рд╣реЛ, рддреЛ рдЗрд╕реЗ рдХрд░реЗрдВ ред рд╣рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ рдХрд┐ рдЖрдк рд╣рдорд╛рд░реЗ рд╕рд╛рде рд╣реЛрдВред рд╣рдо рдЖрдкрдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ! рдпрд╣ рд╕рдореБрджрд╛рдп рдЬрд┐рддрдирд╛ рдмрдбрд╝рд╛ рд╣реЛрдЧрд╛ рдЙрддрдирд╛ рд╣реА рдХрдо рдмреЗрд╣рддрд░ рдФрд░ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд░рд╣реЗрдЧрд╛!

рдФрд░, рд╕реБрдиреЛ, рдореИрдВ рдЗрд╕ рдмрд╛рдд рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдХрднреА-рдХрднреА рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рд╕рдордп рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рднреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕реБрд╡рд┐рдзрд╛ рд╣реЛрдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд╣реЛрддреА рд╣реИред рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВред рдореИрдВ рдмрд╕ рдЗрддрдирд╛ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрджрд┐ рдЖрдк рдЙрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рд╣реИрдВ, рддреЛ рдЖрдк рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдиреБрднреВрддрд┐ рдФрд░ рдХреГрддрдЬреНрдЮрддрд╛ рдХрд╛ рд▓рдХреНрд╖реНрдп рд░рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕рдордп (рдФрд░ рдХрднреА-рдХрднреА рдкреИрд╕рд╛) рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдХрдо рд╕рдореБрджрд╛рдп рдХреЗ рдЕрдиреНрдп рд▓реЛрдЧ рдЕрдкрдиреА рдкреВрд░реА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕рдХреНрд╖рдо рд╣реИрдВред

рднрд╡рджреАрдп,
рдореИрдереНрдпреВ рдбреАрди, рд▓реЗрд╕.рдЬреЗрдПрд╕ рдХреЛрд░ рдЯреАрдо рдХреЗ рд╕рджрд╕реНрдп

рд╕рднреА 112 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП .. рдпрд╣ рдЖрдкрдХреЛ рдХреБрдЫ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЖрдк рдкрд╣рд▓реЗ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдереЗ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдорд┐рд▓ рдЧрдпрд╛ ..

.navbar,
.banner {
    // clearfix stuff
}

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп

.navbar {
    // clearfix stuff
}
.banner {
    // clearfix stuff
}

рдпрд╛ рдореИрдВрдиреЗ рдЧрд▓рдд рд╕рдордЭрд╛ рд╣реИ?

рдореБрдЭреЗ рдкрд╕рдВрдж рд╣реИ рдХрд┐ рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рджреЛрдиреЛрдВ рддрд░рд╣ рдХреЗ рдорд┐рд╢реНрд░рдг рд╣реЛрдВ

.navbar,
.banner {
    // clearfix stuff
}
.....

рдпрд╛

.clearfix,
.navbar,
.banner {
    // clearfix stuff
}
....

рдЬрдм рднреА рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рдорд╛рди рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдорд┐рдХреНрд╕рд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рд╡рд╛рд▓ рдЬреНрдпрд╛рджрд╛рддрд░ рд▓рдЪреАрд▓реЗрдкрди рдФрд░ рдЕрдиреБрдХреВрд▓рди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдВрддрд┐рдо рд╕реАрдПрд╕рдПрд╕ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╣реИред

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ

.clearfix,
.navbar,
.banner {
    // clearfix stuff
}

рд╕реЗ рдЫреЛрдЯрд╛ рд╣реИ

 .clearfix {
    // clearfix stuff
  }
 .navbar{
    // clearfix stuff
 }
.banner {
    // clearfix stuff
}

рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдиреЗ рдЗрд╕ рдХрдореА рдХреЗ рдХрд╛рд░рдг рдПрд╕рдПрдПрд╕рдПрд╕ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдерд╛

рдирд┐рдпрдорд┐рдд рдорд┐рд╢реНрд░рдг рдирд╣реАрдВ рдмрджрд▓ рд╕рдХреЗред рд╡реЗ рдХрд╛рдлреА рд╣рдж рддрдХ рдХрдо рдХреА рдПрдХ рд╕реНрдерд┐рд░рддрд╛ рд╣реИрдВред @agatronic , рд╣рд╛рдБ, рдореИрдВ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рднреА рджреЗрдЦрддрд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЪреБрдиреМрддрд┐рдпрд╛рдВ рд╣реИрдВ, рдЬреИрд╕реЗ рдХреНрдпрд╛ рд╣рдо рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рдорд┐рд╢реНрд░рдгреЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ? рдФрд░ рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ рддреЛ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛? рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк рдПрдХ рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рдорд┐рд╢реНрд░рдг рдХреЛ рджреЛ рдмрд╛рд░ рдмрдврд╝рд╛рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рд╣рд░ рдмрд╛рд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ:

.transition(@transition) {
  -webkit-transition: @transition;
     -moz-transition: @transition;
       -o-transition: @transition;
          transition: @transition;
}
.navbar {
    &:extend(.transition(opacity .2s linear));
}
.banner {
    &:extend(.transition(opacity .3s linear));
}

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорд┐рд╢реНрд░рдг рдХреА рджреЛ рдкреНрд░рддрд┐рдпрд╛рдВ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрдо рдХреЛрдб рдирд╣реАрдВ рд╣реИ, рдФрд░ рдирд┐рдпрдорд┐рдд рдорд┐рд╢реНрд░рдгреЛрдВ рдкрд░ рдХреЛрдИ рдлрд╛рдпрджрд╛ рдирд╣реАрдВ рд╣реИ:

.navbar {
  -webkit-transition: opacity .2s linear;
     -moz-transition: opacity .2s linear;
       -o-transition: opacity .2s linear;
          transition: opacity .2s linear;
}
.banner {
  -webkit-transition: opacity .3s linear;
     -moz-transition: opacity .3s linear;
       -o-transition: opacity .3s linear;
          transition: opacity .3s linear;
}

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдЖрдк рдЗрд╕ рд╡рд┐рд╢реЗрд╖ mixin рдПрдХ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЬрдм рдЖрдк рдкрд░ рдлрд┐рд░ рд╕реЗ mixin рдХрд╛ рдЙрдкрдпреЛрдЧ .dropdown рдХреЗ рд░реВрдк рдореЗрдВ рд╣реА рдЪрд░ рдХреЗ рд╕рд╛рде .banner , рдпрд╣ рдЗрд╕ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

.navbar {
  -webkit-transition: opacity .2s linear;
     -moz-transition: opacity .2s linear;
       -o-transition: opacity .2s linear;
          transition: opacity .2s linear;
}
.banner,
.dropdown {
  -webkit-transition: opacity .3s linear;
     -moz-transition: opacity .3s linear;
       -o-transition: opacity .3s linear;
          transition: opacity .3s linear;
}

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

@jonschlinkert рд╣рд╛рдБ, рдпрд╣ рдФрд░ рднреА рдмреЗрд╣рддрд░ рдЪрд┐рддреНрд░рдг рд╣реИ, рдзрдиреНрдпрд╡рд╛рджред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЙрд╕ рдкрд░ рджреЛрдиреЛрдВ рд╣рд╛рде рдХрд╣рд╛! рд▓реЗрдХрд┐рди рд╕рдордЭреЗрдВ рдХрд┐ рдпрд╣ рдЬрдЯрд┐рд▓рддрд╛ рдХрд╛ рдПрдХ рдФрд░ рд╕реНрддрд░ рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рд╕реЛрдЪ-рд╕рдордЭрдХрд░ рдХрд░рдиреЗ/рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рдВрджрд░реНрднрд┐рдд рд╡рд┐рдзрд┐ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рдЗрд╕ рдкреИрдЯрд░реНрди рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

.transition(@transition) {
    -webkit-transition: @transition;
     -moz-transition: @transition;
       -o-transition: @transition;
          transition: @transition;
}

.quickOpacity1(){
    .transition(opacity .2s linear);
}

.quickOpacity2(){
    .transition(opacity .3s linear);
}

.navbar{
    .quickOpacity1();
}

.banner,
.dropdown{
    .quickOpacity2();
}

рдЙрдкрд░реЛрдХреНрдд 2 рдирдИ рдШреЛрд╖рдгрд╛рдУрдВ рдореЗрдВ рдЕрд░реНрдз-рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИред

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

.clearfix{
  //clearfix stuff
}
.navbar,
.banner {
    .clearfix;
}

@krismeister рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкрд░ рднреНрд░рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдкреИрдЯрд░реНрди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗрд╡рд▓ рдиреЗрд╕реНрдЯреЗрдб рдорд┐рд╢реНрд░рдг, рдпрд╛ рдорд┐рд╢реНрд░рд┐рдд рд╡рд┐рд░рд╛рд╕рдд рдкреИрдЯрд░реНрди рд╣реИред рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдХрд╛рдо рдмрдврд╝рд╛рддрд╛ рд╣реИред

@jonschlinkert рдорд┐рдХреНрд╕рд┐рди рд╡рд┐рд░рд╛рд╕рдд - рдПрдХ рдорд╣рд╛рди рдирд╛рдоред рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рджреЛрдиреЛрдВ рдЙрджрд╛рд╣рд░рдг рдЬрд╣рд╛рдВ рдорд╛рддрд╛-рдкрд┐рддрд╛ рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдЬреЛ рд╡рд┐рд╕реНрддрд╛рд░ рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред рдЖрдк рд╢рд╛рдпрдж рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рд╣рдордд рд╣реИрдВ рдХрд┐ рдореЗрд░реЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдЖрдкрдХрд╛ рдЕрдкреЗрдХреНрд╖рд┐рдд рдЖрдЙрдЯрдкреБрдЯ рдерд╛ред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЖрдкрдХреА рдореВрд▓ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рджреЛрдмрд╛рд░рд╛ рдкрдврд╝рдиреЗ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ- рдЖрдк рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдПрдХ рд╕реАрдПрд╕рдПрд╕ рдирд┐рдпрдо рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ 2 рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ :extend рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд╣реИред рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмреЗрд╡рдХреВрдлрд╝ рдмрдирдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм "рдЬрд╣рд╛рдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ" рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЖрддрд╛ рд╣реИред рдПрдХ рдорд┐рд╢реНрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ рдЬреИрд╕реЗ "рдорд┐рд╢реНрд░рдг рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдЙрд╕ рдЪрдпрдирдХрд░реНрддрд╛ рддрдХ рдкрд╣реБрдВрдЪрд╛рдирд╛ рдЬрд┐рд╕рдиреЗ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛"ред рдФрд░ :extend рдХреЛ рд╡реНрдпреБрддреНрдХреНрд░рдо рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЛрдЪреЗрдВ, "рдЙрд╕ рдЪрдпрдирдХрд░реНрддрд╛ рдХреЛ рдмреАрдо рдХрд░рдирд╛ рдЬрд┐рд╕рдиреЗ рдЗрд╕реЗ рдорд┐рдХреНрд╕рд┐рди рддрдХ рд╣реА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред" рдЪрдпрдирдХрд░реНрддрд╛ рдХреЗ рдЧреБрдг рдирд╣реАрдВ, рдХреЗрд╡рд▓ рдЪрдпрдирдХрд░реНрддрд╛ рд╣реАред рддреЛ рдЕрдЧрд░ рдЖрдкрдиреЗ рдРрд╕рд╛ рдХрд┐рдпрд╛:

.some-mixin() {
    padding-top: 100px;
    background: #f7f7f7;
}


// a selector that is extending the mixin
.alert:extend( .some-mixin() ) {
    border: 1px solid #e5e5e5;
}
// another selector extending the mixin
section:extend(.some-mixin()) {
    margin: 20px 0;
}

рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдЧрд╛:

// The selectors that extended the mixin are now where the mixin used to be.
.alert,
section {
    padding-top: 100px;
    background: #f7f7f7;
}

// And the properties of the mixin did not get copied down below
// so we saved a line or two of code.
.alert {
    border: 1px solid #e5e5e5;
}
section {
    margin: 20px 0;
}

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдФрд░ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рд╕рдордп рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрддреА рд╣реИред

@agatronic, @matthewdl, @DesignByOnyx, рд╕рд┐рд░реНрдл рдПрдХ рд╡рд┐рдЪрд╛рд░, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдпрд╣ рдПрдХ рдЕрд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдЗрд╕ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рддрдХрдиреАрдХреА рдЪреБрдиреМрддрд┐рдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдПрдХ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдЕрд▓рдЧ рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ _should_ рдПрдХ рд╕рд░рдгреА рдХреА рддрд░рд╣ рдЕрдзрд┐рдХ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ . рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдЗрд╕рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ: :extend[N] ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдорд┐рд╢реНрд░рдг рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдЖрдВрдЦреЛрдВ рдкрд░ рднреА рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ:

section:extend[.some-mixin(), .another-mixin()] {
    margin: 20px 0;
}

рдореИрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдареАрдХ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╕реНрдХреНрд╡рд╛рдпрд░ рдмреНрд░реИрдХреЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╕рд╣реА рд▓рдЧрддрд╛ рд╣реИред

@jonschlinkert - [] рдЕрд░реНрде рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рд╕рд░рдгреА рдирд╣реАрдВ, рдЬрд╣рд╛рдВ :extend() рдЫрджреНрдо рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рдХрд╛рд░рдг рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рджреГрдврд╝рддрд╛ рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рдмреНрд░реИрдХреЗрдЯ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЕрдЪреНрдЫрд╛ рдмрд┐рдВрджреБ, рдореИрдВ рд╕рд╣рдордд рд╣реВрдБред

рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдХреЛрд╖реНрдардХ рдЕрдЪреНрдЫреЗ рд▓рдЧрддреЗ рд╣реИрдВ рдФрд░ рдкрдврд╝рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рд╛рдБ, рд╣рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдЪреБрдиреЗ рдЧрдП рд╡рд╛рдХреНрдп-рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде рд░рд╣рдирд╛ рд╣реЛрдЧрд╛ред

рд╡рд┐рд╕реНрддрд╛рд░ (рдПрди) рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдердВрдм рдЕрдк, рдкреНрд░рдХреГрддрд┐ рд╕реАрдПрд╕рдПрд╕ рдХреА рддрд░рд╣ рдЕрдзрд┐рдХ рд▓рдЧрддрд╛ рд╣реИ, @ agatronic . рдХреЗ рд╕рдорд╛рди рдХрд╛рд░рдг

рдорд┐рд╢реНрд░рдг рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдХреЛрдИ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ, @jonschlinkertред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ; рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдиреЗ рдХреНрдпрд╛ рд▓рд┐рдЦрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдЙрди рд╡рд░реНрдЧреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рд╕рдорд╛рди рдорд┐рд╢реНрд░рд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЛ "рдЦреАрдВрдЪреЗрдВ", рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рд┐рдгрд╛рдореА рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рджреЛрд╣рд░рд╛рдПрдВ рдирд╣реАрдВред рдореИрдВ рдЙрд╕ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдорд┐рд╢реНрд░рдг рдХреЛ рдирд╣реАрдВ рдмреБрд▓рд╛рдКрдВрдЧрд╛ред рдпрд╣реА рд╣реИ, рдЖрдк рдорд┐рдХреНрд╕рд┐рди рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд╛ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдХрд░реЗрдЧреА), рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рд┐рдгрд╛рдореА рд╡рд░реНрдЧреЛрдВ рдХреЛ рдмрджрд▓ рд░рд╣реЗ рд╣реИрдВ (рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ)ред

рддреЛ, рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдореБрдЭреЗ рд╕реБрдзрд╛рд░реЗрдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдиреЗрд╡рдмрд╛рд░/рдмреИрдирд░/рдбреНрд░реЙрдкрдбрд╛рдЙрди рдЙрджрд╛рд╣рд░рдг рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛:

.navbar {
  .transition(opacity .2s linear);
}
.banner {
  .transition(opacity .3s linear);
}
.dropdown:extend(.banner) { }

рдпрд╛рдиреА, рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдореИрдВ рдмрд╕ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧ рдкреИрдЯрд░реНрди рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдЕрдкрдирд╛ рд╕рд┐рд░ рд▓рдкреЗрдЯрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдорд┐рд╢реНрд░рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдФрд░ рдирд╛рдордХрд░рдг рдХреЗ рд╕рд╛рде рдмрд╛рдзрд╛рдУрдВ рдкрд░ рд▓рдЧрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рд╡рд┐рд╡рд░рдг рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдХреЙрд▓ рдореЗрдВ рдорд┐рдХреНрд╕рд┐рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ/рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдорд┐рдХреНрд╕рд┐рди рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЪрдпрдирдХрд░реНрддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

рдЗрд╕ рддрд░рд╣ рдореИрдВ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реВрдВ

рд╡рд╛рдВрдЫрд┐рдд рдЕрдВрддрд┐рдо рд╕реАрдПрд╕рдПрд╕ рдЖрдЙрдЯрдкреБрдЯ

.sometingShared,
.anotherClass,
.anotherYetClass,
.yetClass {
    // amount of shared code here
}

.anotherClass,
.anotherYetClass {
    // did something dynamic with a
}

.yetClass {
    // did something dynamic with b
}

.anotherClass {
    // native another class code
}

.anotherYetClass {
    // native another yet class code
}

.yetClass {
    // native yet class code
}

рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЖрдкрдХреЛ рд╡рд╛рдВрдЫрд┐рдд рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдЬрд╛рдирд╛ рд╣реИ

.somethingShared,
.anotherClass,
.anotherYetClass,
.yetClass {
    // amount of shared code here
}

.someMixin(@val) {
    // do something dynamic with val
}

.anotherClass,
.anotherYetClass {
    .someMixin(a);
}

.yetClass {
    .someMixin(b);
}

.anotherClass {
    // native another class code
}

.anotherYetClass {
    // native another yet class code
}

.yetClass {
    // native yet class code
}

рд╕реБрдЭрд╛рдП рдЧрдП рдХрдо рд╕рд┐рдВрдЯреИрдХреНрд╕

.somethingShared {
    // amount of shared code here
}

.someMixin(@val) {
    // do something dynamic with val
}

.anotherClass:extend(.sometingShared, .someMixin(a)) {
    // native another class code
}

.anotherYetClass:extend(.sometingShared, .someMixin(a)) {
    // native another yet class code
}

.yetClass:extend(.sometingShared, .someMixin(b)) {
    // native yet class code
}

рдЬрдмрдХрд┐ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗрд╡рд▓ рддрднреА рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╛рдЭрд╛ рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рд╣реЛ, рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдорд┐рд╢реНрд░рд┐рдд рдЙрдкрдпреЛрдЧ рдХрд╛ рдкрдХреНрд╖ рд╣реЛрддрд╛ рд╣реИред

рдФрд░ рдмрд╕ рдХреБрдЫ рд╣рдж рддрдХ, рд▓рд╛рдЗрд╡ рдбрдореА рдирдореВрдирд╛, рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╕рд┐рд░реНрдл рдЦреЗрд▓рдирд╛ рд╣реИ

http://jsbin.com/opekon/1/edit
http://jsbin.com/opekon/2/edit
http://jsbin.com/opekon/3/edit
http://jsbin.com/opekon/4/edit

рдЬреИрд╕рд╛ рдХрд┐ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдореЗрд░реЗ рдЬреИрд╕реЗ рдЖрд▓рд╕реА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ :)

рдпрд╣рд╛рдВ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрд╕рдПрдПрд╕рдПрд╕ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдИ рдЪреАрдЬреЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╢рд╛рдпрдж рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рд╕реАрдЦрдирд╛ рдмреБрджреНрдзрд┐рдорд╛рдиреА рд╣реИ рдХрд┐ рджреВрд╕рд░реЛрдВ рдиреЗ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рд╣реИред http://designshack.net/articles/css/semantic-grid-class-naming-with-placeholder-selectors-in-sass-3-2/

рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдореЗрд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрд╕рдПрдПрд╕рдПрд╕ "рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░" рдХреЗ рд╕рдорд╛рди рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдмреЗрдХрд╛рд░, рдЕрдирд╛рд╡рд╢реНрдпрдХ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░-рдХреЗрд╡рд▓ рдХрдХреНрд╖рд╛рдПрдВ рдмрдирд╛рдП рдмрд┐рдирд╛ред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд╣рд╛рдБ, рдпрд╣рд╛рдВ рдПрдХ рдФрд░ рдкреЛрд╕реНрдЯ рд╣реИ рдЬреЛ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░реНрд╕ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдмрддрд╛рддреА рд╣реИред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореИрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ http://maximilianhoffmann.com/article/placeholder-selectors

рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдЕрдиреНрдп рд╕рднреА рд╡рд┐рд╕реНрддрд╛рд░-рд╕рдВрдмрдВрдзрд┐рдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдКрдкрд░ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред рдмрд┐рдирд╛ рд╕рд╡рд╛рд▓ рдХреЗред рдпрд╣ рдПрдХ рдордЬрдмреВрдд рдмрдпрд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЕрдиреНрдп рд▓реЛрдЧ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реИрдВ рддреЛ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрд╛рдиреЗ рдХрд╛ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдпрд╣ рдХрд╛рдлреА рджрдорджрд╛рд░ рдЪреАрдЬ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ SASS

 %tile {
  width: 200px;
  height: 200px;
  margin-right: 20px;
}

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

@agatronic рдЬрдм рд╣рдо рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╡рд┐рд╕реНрддрд╛рд░ рдХреНрдпрд╛ рд╣реИ https://github.com/agatronic/less.js/blob/master/lib/less/tree/extend.js рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? рдиреЛрдЯ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореБрдЦреНрдп рдХрдо рд╢рд╛рдЦрд╛ рдореЗрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдиреЛрдм рд╕рд╡рд╛рд▓ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред

@ dmi3y рдпрд╣ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬрд┐рд╕реЗ 1.4.0 рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕реЗ рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ рдерд╛ - рдпрд╣ рд╡рд┐рд╕реНрддрд╛рд░ рдиреЛрдб рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ

рдзрдиреНрдпрд╡рд╛рдж @agatronic , рдЕрдм рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ рдХрд┐рддрдирд╛ рдпрд╛рдж рдХрд┐рдпрд╛;)

@ dmi3y рдХреГрдкрдпрд╛ рдмреЗрдЭрд┐рдЭрдХ рдмрд╛рддрдЪреАрдд рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВ, рдЖрдЗрдП рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдкрд░ рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╣рдо рдЗрд╕реЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рд╕рдХреЗрдВред рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдИрдореЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ, рдореБрдЭреЗ рдЗрд╕ рдмрд╛рдд рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдореЗрд░реА рд╕рдВрдкрд░реНрдХ рдЬрд╛рдирдХрд╛рд░реА рдореЗрд░реА рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдкрд░ рд╣реИ)ред рдЗрд╕ рдзрд╛рдЧреЗ рдкрд░ рдФрд░ рднреНрд░рдо рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддреНрд╡рд░рд┐рдд рдЯрд┐рдкреНрдкрдгреА рднреАред рдЖрдкрдХрд╛ рдЙрджрд╛рд╣рд░рдг:

%tile {
    width: 200px;
    height: 200px;
    margin-right: 20px;
}

рдпрд╣ рдПрдХ рдПрд╕рд╕реАрдПрд╕рдПрд╕ "рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░" рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИ, рдЬрд┐рд╕реЗ рдПрд╕рд╕реАрдПрд╕рдПрд╕ рд╕реНрдкреЗрдХ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рддрд╛рдХрд┐ рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдЬреЛ рдореИрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рд╣реЛрдиреЗ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рдорд┐рдХреНрд╕рд┐рди рдХреЗрд╡рд▓ _рдорд┐рдХреНрд╕рд┐рди рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдкреИрд░рд╛рдореАрдЯрд░_ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдорд╛рди рд╣рд░ рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред

@matthewdl

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдЙрди рд╡рд░реНрдЧреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рд╕рдорд╛рди рдорд┐рд╢реНрд░рдг рд╕рд╛рдордЧреНрд░реА рдХреЛ "рдЦреАрдВрдЪреЗрдВ", рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рд┐рдгрд╛рдореА рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рджреЛрд╣рд░рд╛рдПрдВ рдирд╣реАрдВ

рддрдерд╛

рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдирд╛рд╡рдмрд╛рд░/рдмреИрдирд░/рдбреНрд░реЙрдкрдбрд╛рдЙрди рдЙрджрд╛рд╣рд░рдг рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛...

рдирд╣реАрдВ, рдСрдкрд░реЗрдЯрд┐рд╡ рдмрд┐рдВрджреБ рдЫреВрдЯ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдЙрд▓реНрдЯрд╛ рд╣реИред рд╢рд╛рдпрдж рднреНрд░рдо рдЗрд╕рд▓рд┐рдП рд╣реБрдЖ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рдорд┐рд╢реНрд░рдгреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЧрд▓рддреА рдХреА рдереАред

рддреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЪрд┐рддреНрд░рд┐рдд рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╕рднреА рдорд┐рд╢реНрд░рдг рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рдирд╣реАрдВ рд╣реИрдВ, рдХрдИ _not_ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рдЧрдП рд╣реИрдВред рдХреНрд▓реАрдпрд░рдлрд╝рд┐рдХреНрд╕ рдЬреИрд╕реЗ рдХреБрдЫ рдорд┐рдХреНрд╕рд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдмрд╛рд░-рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпреЗ рдЗрд╕ рдмрд╛рдд рдХреЗ рд▓рд┐рдП рдПрдХрджрдо рд╕рд╣реА рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВ рдХрд┐ рдорд┐рдХреНрд╕реА рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдлрд╛рдпрджреЗрдордВрдж рдХреНрдпреЛрдВ рд╣реЛрдЧрд╛ред

рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рдпрд╛ рдирд╣реАрдВ, рдЙрдирдХреЗ рд╕рднреА рдорд╣рд┐рдорд╛ рдорд┐рд╢реНрд░рдгреЛрдВ рдореЗрдВ рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд╣рд▓реВ рдпрд╣ рд╣реИ рдХрд┐ рд╣рд░ рдмрд╛рд░ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЧреБрдг рджреЛрд╣рд░рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ ред рддреЛ рдореИрдВ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдХреЗрд╡рд▓ "рдирд┐рдпрдорд┐рдд рдорд┐рд╢реНрд░рдг" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдорд┐рд╢реНрд░рдг рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдФрд░ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рд░рд╣реЗрдЧрд╛ред

рдЖрдкрдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рджреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рдФрд░ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдмрд┐рдВрджреБ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

  1. рдмреИрдирд░ рд╡рд░реНрдЧ рдЕрднреА рднреА рд╕рдВрдХрд▓рд┐рдд рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдЪрд╛рд╣реЗ рдмрдврд╝рд╛рдпрд╛ рдЧрдпрд╛ рд╣реЛ рдпрд╛ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдмреИрдирд░ рд╡рд░реНрдЧ рдПрдХ рдорд┐рд╢реНрд░рд┐рдд рдерд╛ рддреЛ рдпрд╣ рдХреЗрд╡рд▓ рдкрд░рд┐рдгрд╛рдореА рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдпрджрд┐ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдпрд╛ рддреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдпрд╛ рдорд┐рд╢реНрд░рд┐рдд)ред рдпрд╣ рдЕрдХреЗрд▓рд╛ рдореВрд▓реНрдпрд╡рд╛рди рд╣реИред рдФрд░
  2. рдЬрдм рдЖрдк рдПрдХ рд╣реА рд╕рдЯреАрдХ рдЧреБрдгреЛрдВ рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдорд┐рдХреНрд╕рд┐рди_ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдорд┐рдХреНрд╕рд┐рди рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВрдЧреЗред

рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдЧреМрд░ рдХрд░реЗрдВ рдХрд┐ рдЯреНрд╡рд┐рдЯрд░ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдореЗрдВ рдПрдХ рдмрд┐рдВрджреБ рдкрд░ рдЕрдХреЗрд▓реЗ .clearfix() рдорд┐рдХреНрд╕рд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рдЕрдВрджрд░ 20 рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЗрд╕реЗ 4 рдпрд╛ 5 рдЕрдиреНрдп рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЗ рдЕрдВрджрд░ рднреА рдиреЗрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреИрд╕реЗ рдХрд┐ .container-fixed() , .make-row() , рдФрд░ #grid > .core() ред рдЕрд░реНрде рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рдорд┐рд╢реНрд░рдг рд╣рд░ рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░

рдХреНрдпрд╛ рдпрд╣ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ? рдЗрд╕рд▓рд┐рдП рдХреНрд▓реАрдпрд░рдлрд╝рд┐рдХреНрд╕ рдорд┐рдХреНрд╕рд┐рди рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ 20 рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдЙрди рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдореВрд╣реАрдХреГрдд рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдорд┐рдХреНрд╕рд┐рди рдХреЗ рд╕реНрдерд╛рди рдкрд░ рд╣реА рдХреНрд▓рд┐рдпрд░рдлрд╝рд┐рдХреНрд╕ рдорд┐рдХреНрд╕рд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЧреБрдг рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдФрд░ рдлрд┐рд░, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдорд┐рд╢реНрд░рдг рд╣реИ, рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдирд┐рдпрдорд┐рдд рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЗ рдЦреЛрдП рд╣реБрдП рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╢реБрджреНрдз рд▓рд╛рдн рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ, рдмрдирд╛рдо рдЙрдирдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рд╕реЗред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рдХрд╣реАрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдФрд░ рдУрд╡рд░рд░рд╛рдЗрдб рдХреЗ рд▓рд┐рдП рдХрднреА-рдХрднреА рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдирд┐рдпрдорд┐рдд рдорд┐рд╢реНрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдореВрд▓реНрдп рдХрдо рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд╕рд╛рде рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдорд┐рд╢реНрд░рдг рдмрдирд╛рдКрдВрдЧрд╛, рдЬреЛ рдХрд┐ рдореИрдВ рдЕрдиреНрдпрдерд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред

рдФрд░ рдКрдкрд░ рдореЗрд░рд╛ рджреВрд╕рд░рд╛ рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рдмрд╛рдд рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ рдХрд┐ рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рд╕реНрддрд╛рд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рддрд╕реНрд╡реАрд░ рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдЧрд╛ рдФрд░ рдЕрдм рдФрд░ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ? рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдКрдкрд░ рджрд┐рдП рдЧрдП рд▓реЗрдЦреЛрдВ рдХреЛ рдХрд┐рд╕реА рднреА рднреНрд░рдо рдХреЛ рджреВрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдорд┐рдХреНрд╕рд┐рди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдмреЗрд╣рдж рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдФрд░ рдЙрдкрдпреЛрдЧреА рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдиреЗрд╕реНрдЯреЗрдб рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рдорд╛рди рд╢реБрджреНрдз рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рдиреЗрд╕реНрдЯреЗрдб рдЪрдпрдирдХрд░реНрддрд╛ рдХреЗ рдмрдЬрд╛рдп рдорд┐рдХреНрд╕рд┐рди рдХреЗ рд╕рд╛рдеред рдпрд╣ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдЗрдЪреНрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдФрд░ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдореЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреА рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред @DesignByOnyx, @agatronic, @matthewdl, рд╡рд╣рд╛рдБ рдХреБрдЫ рднреА рдореИрдВ рдпрд╛рдж рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдпрд╛ рдпрд╣рд╛рдБ рднреВрд▓ рд╣реИ? рднреНрд░рдо рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдХреБрдЫ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрдВрдХреНрддрд┐ рдЗрд╕реЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрд╣рддреА рд╣реИ:

рдмреИрдирд░ рд╡рд░реНрдЧ рдПрдХ рдорд┐рд╢реНрд░рдг рдерд╛, рдпрд╣ рдХреЗрд╡рд▓ рдкрд░рд┐рдгрд╛рдореА рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдпрджрд┐ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдпрд╛ рддреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдпрд╛ рдорд┐рд╢реНрд░рд┐рдд)

рдореЗрд░реЗ рд▓рд┐рдП рдЙрд╕рдХрд╛ рдорддрд▓рдм рдмрдирддрд╛ рд╣реИред рд╢рд╛рдпрдж рдореИрдВ рдЬреЛ рд▓рдЯрдХрд╛ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╕рдордЧреНрд░ :extend рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдЕрднреА рддрдХ рдЕрдВрддрд┐рдо рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди, рдЖрдк рдкреНрд░реЗрд░рдХ рдорд╛рдорд▓реЗ рдмрдирд╛рддреЗ рд╣реИрдВред

рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдПрдХ рдмрд╛рд░ рдЬрдм рд╣рдо рдЪрдпрдирдХрд░реНрддрд╛ рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рд░реВрдк рджреЗрддреЗ рд╣реИрдВ, рдпрджрд┐ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдорд┐рд╢реНрд░рдгреЛрдВ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ (рдореБрдЦреНрдп рдЕрдВрддрд░ рдЙрд╕ рдкрдВрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдЕрднреА рдХрд╣рд╛ рд╣реИ, рдХрд┐ рдХреЛрдИ рдЪрдпрдирдХрд░реНрддрд╛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХреЗ рд▓рд┐рдП рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдирд╣реАрдВ рд╣реИ рдЬрдм рддрдХ рдХреЛрдИ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЙрдкрдпреЛрдЧ рди рд╣реЛ), рддреЛ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕рд╣рдЬ рд╣реИред

рдпрд╣реА рд╣реИ, рдЕрдЧрд░ рдореИрдВ рднреА рдРрд╕рд╛ рдХреБрдЫ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ (рдпрд╛ рд╕рдордХрдХреНрд╖ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕):

.facebook-button:extend( .button() all ) {
    border: 1px solid #e5e5e5;
}

... рдлрд┐рд░ рдореЗрд░реА рдУрд░ рд╕реЗ рдердореНрд╕ рдЕрдкред рд▓реЗрдХрд┐рди, рдореЗрд░реЗ рд▓рд┐рдП, рдпрд╣ рд╕рдм рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП :extend рдХреНрдпрд╛/рдХреИрд╕реЗ/рдЕрдЧрд░ рд╕рдорд╛рдзрд╛рди рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди, рд╕рд┐рдВрдЯреИрдХреНрд╕ рдПрдХ рддрд░рдл, рдПрдХ рдлреАрдЪрд░ рдЖрдЗрдбрд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рд╕рд╣реА рд╣реИрдВ, рдпрд╣ рдзреНрд╡рдирд┐ рд╣реИред

@jonschlinkert рдзрдиреНрдпрд╡рд╛рдж, рдЕрдкрдиреЗ рд╕рдорд░реНрдерди рдХреА рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд░рдЦрдиреЗ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдкреВрд░реА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рд╣рд╛рдВ, рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕реБрдирдирд╛ рдХрд╛рдлреА рд░реЛрдорд╛рдВрдЪрдХ рд╣реИред рдЖрдк рд╕рдм рд▓реЛрдЧ, рдЗрд╕рдХреЗ рд╕рд╛рде рдХрдорд╛рд▓ рдХрд╛ рдХрд╛рдо рдХрд░реЗрдВред

рд╣рд╛рдВ, рдпрд╣ рдЙрджрд╛рд╣рд░рдг, рдореБрдЭреЗ рдЕрдкрдиреА рдкрд┐рдЫрд▓реА рдкреЛрд╕реНрдЯ рдХреЗ рд╕рд╛рде рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ рдерд╛ред

%tile {
   width: 200px;
   height: 200px;
   margin-right: 20px;
 }

рдЬреЙрди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдПрд╕рдПрдПрд╕рдПрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рдЙрди рдХрдХреНрд╖рд╛рдУрдВ рд╕реЗ рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рдЯреНрд░реИрд╢рд┐рдВрдЧ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред рддреЛ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдХреЛрдг рдореЗрдВ рдЗрд╕реЗ LESS рдореЗрдВ рдЦрд╛рд▓реА рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рдорд┐рдХреНрд╕рд┐рди рдХреА рддрд░рд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрдм рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдпрд╣ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рдпрд╣ рдЕрдВрдд рд╕реНрдЯрд╛рдЗрд▓рд╢реАрдЯ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛред

рдореИрдВ рдЗрд╕ рдЪрд░реНрдЪрд╛ рдкрд░ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЯрд┐рдкреНрдкрдгреА рдкрд░ рдЕрдкрдиреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯрддрд╛ рд▓рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ:

рдпрджрд┐ рдмреИрдирд░ рд╡рд░реНрдЧ рдПрдХ рдорд┐рд╢реНрд░рд┐рдд рдерд╛ рддреЛ рдпрд╣ рдХреЗрд╡рд▓ рдкрд░рд┐рдгрд╛рдореА рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдпрджрд┐ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдпрд╛ рддреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдпрд╛ рдорд┐рд╢реНрд░рд┐рдд)

рддреЛ, рдПрдХ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдкрд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдХреНрдпрд╛ рдпрд╣ рдХрдо рдФрд░ рдкрд░рд┐рдгрд╛рдореА рд╕реАрдПрд╕рдПрд╕ рд╣реИ ?:

.clearfix() {
    &:before,
    &:after { content: " "; display: table; }

    &:after { clear: both; }
}
.something:extend( .clearfix() ) { }

/*
.clearfix:before,
.clearfix:after,
.something:before,
.something:after {
    content: " ";
    display: table;
}
.clearfix:after,
.something:after {
    clear: both;
}
*/

рдореБрдЭреЗ рдореВрд▓ рд░реВрдк рд╕реЗ .clearfix рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рд╕реАрдПрд╕рдПрд╕ рд╕реЗ рдЫреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рдХреА рдЙрдореНрдореАрдж рдереАред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореИрдВ рд╕рдВрдХрд▓рд┐рдд рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рдХрдХреНрд╖рд╛ рдХреЛ _need_ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕реЗ рдорд╛рд░реНрдХрдЕрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдореЗрд░реЗ рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдмрд╛рдЗрдЯреНрд╕ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдПрдХ рдордЬрдмреВрдд рд░рд╛рдп рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рд╕реЗ рдореБрдЭреЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред рдзрдиреНрдпрд╡рд╛рджред

рдХреНрдпрд╛ рдпрд╣ ... рдкрд░рд┐рдгрд╛рдореА рд╕реАрдПрд╕рдПрд╕ рд╣реИ ?:

рдореБрдЭреЗ рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЖрдк рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдирд╣реАрдВ , рдкрд░рд┐рдгрд╛рдореА рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рдХреЗрд╡рд▓ .something рд╡рд░реНрдЧ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рддреЛ рдЖрдк рдЕрдкрдиреА рдореВрд▓ рдЕрдкреЗрдХреНрд╖рд╛ рдореЗрдВ рд╕рд╣реА рдереЗред

рдмрд╕ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░реНрд╕ рд▓рд┐рдВрдХ рдкрдврд╝реЗрдВ рдФрд░ рд╣рд╛рдВ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдорд┐рдХреНрд╕рд┐рди рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЪреАрдЬреЛрдВ рдХреЛ рдХрд░рдиреЗ рдФрд░ рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдмреЗрд╣рддрд░ рдФрд░ рдХрдо рддрд░реАрдХрд╛ рд╣реИред

рдЕрдкрдиреЗ рдЙрдкрд░реЛрдХреНрдд рдмрд┐рдВрджреБ рдХреЛ рд╢рд╛рдВрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП

.clearfix() {
    &:before,
    &:after { content: " "; display: table; }
    &:after { clear: both; }
}
.something:extend( .clearfix() ) { }

/*
.something:before,
.something:after {
    content: " ";
    display: table;
}
.something:after {
    clear: both;
}
*/

рдФрд░ рд╕рдВрднрд╡рддрдГ рдпрджрд┐ .clearfix() { рдкрд░рд┐рднрд╛рд╖рд╛ .clearfix { рддреЛ рдЗрд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдВрджрд░ рдпрд╛ рдмрд┐рдирд╛ рдмреНрд░реИрдХреЗрдЯ рдХреЗ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ ..

рд╡рд┐рд╕реНрддрд╛рд░ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдЫрджреНрдо рд╡рд░реНрдЧ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкреВрд░реА рддрд░рд╣ рдЧрд▓рдд рд╣реИ,
рдХреНрдпреЛрдВрдХрд┐ "рд╡рд┐рд╕реНрддрд╛рд░ sth" "рдореИрдЪ sth" рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдбреАрдУрдПрдо рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ рдЬреЛ рдПрдХ рдЪрдпрдирдХрд░реНрддрд╛ рдХреЛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЖрдк рдХрдо рд▓реЛрдЧреЛрдВ рдиреЗ рдХрдИ рдмреБрд░реЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ "рдЖрд╡рд┐рд╖реНрдХрд╛рд░" рдХрд┐рдпрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз рдПрдХ рдорд┐рдХреНрд╕рд┐рди рдиреЛрдЯреЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ "рдкреБрди: рдЙрдкрдпреЛрдЧ' .xxx (рд╡рд░реНрдЧ рдЪрдпрдирдХрд░реНрддрд╛) рд╣реИред рдХрдо рд╕реЗ рдХрдо рдпрд╣ рд╕рд╛рджреЗ рд╕реАрдПрд╕рдПрд╕ рд╕реЗ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди :рдПрдХреНрд╕рдЯреЗрдВрдб рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╡рд┐рдЪрд╛рд░ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдХрднреА рд╕реБрдирд╛ рд╣реИред

рдореИрдВ рдЕрдкрдиреЗ рдореБрджреНрджреЛрдВ рдкрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╢реЗрдЦреА рдмрдШрд╛рд░рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рдирд╣реАрдВ рд╣реИ рдЬрдм рдореИрдВрдиреЗ рдпреЗ рдмрд╛рддреЗрдВ рд╕реБрдиреА рд╣реИрдВ рддреЛ рдЪрд▓рд┐рдП рд╕реАрдПрд╕рдПрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рд╡рд╛ рдХреЛ рд╕рд╛рдл рдХрд░рддреЗ рд╣реИрдВред

рдЖрдк рдХрдо рд▓реЛрдЧреЛрдВ рдиреЗ рдХрдИ рдмреБрд░реЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ "рдЖрд╡рд┐рд╖реНрдХрд╛рд░" рдХрд┐рдпрд╛ рд╣реИред рдорд┐рдХреНрд╕рд┐рди рдиреЛрдЯреЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдмрд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз рдПрдХ "рдкреБрди: рдЙрдкрдпреЛрдЧ' .xxx (рд╡рд░реНрдЧ рдЪрдпрдирдХрд░реНрддрд╛) рд╣реИред ....: рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╡рд┐рдЪрд╛рд░ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдХрднреА рд╕реБрдирд╛ рд╣реИред

.xxx рдХреЛ рдПрдХ рдирд┐рд╣рд┐рдд рдорд┐рд╢реНрд░рдг рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╡рд╛рдХреНрдп-рд╡рд┐рдиреНрдпрд╛рд╕ CSS рдХрд▓реНрдкрдирд╛ рдкрд░ рдЙрддрдирд╛ "рдЖрдХреНрд░рд╛рдордХ" рдирд╣реАрдВ рд╣реИ, рдЬрд┐рддрдирд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрдЯрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдПред @keyframes рд╕реНрдЯрд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд╕рдмрд╕реЗ рдХрд░реАрдм рдЖрддреЗ рд╣реИрдВ рдФрд░ _maybe_ рдХреЛ рдореИрдВ рдЬреЛ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдЙрд╕рдХрд╛ рдЕрдкрд╡рд╛рдж рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╕реАрдПрд╕рдПрд╕ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЙрддреНрдкрд╛рджрди рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВред рдХреАрдлрд╝реНрд░реЗрдо рд╕реЗ рдкрд░реЗ, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рд╕реАрдПрд╕рдПрд╕ рдХреЗ рдирд┐рдпрдо рдЕрдзрд┐рдХрддрд░ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рд╢реИрд▓реА- рдпрд╛ рд╕реНрдЯрд╛рдЗрд▓рд╢реАрдЯ рд╣реЗрд░рдлреЗрд░ рдХреЗ рд▓рд┐рдП рдЖрд░рдХреНрд╖рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ "рдмрд╛рд╣рд░реА" рдЬрд╛рдирдХрд╛рд░реА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╕реНрд╡рдпрдВ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЗ рдмрд╛рд╣рд░ рд╣реЛрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рд╡рд░реНрдг рдПрдиреНрдХреЛрдбрд┐рдВрдЧ ( @charset ), рдпрд╛ рдбрд┐рд╡рд╛рдЗрд╕-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд┐рддрд┐рдпреЛрдВ ( @media ) рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдирд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдмрджрддрд░ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдВред рдЬреИрд╕реЗ рд╕реНрдЯрд╛рдЗрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдЯ-рд░реВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рдПрдХ рд╣реА рдлреАрдЪрд░ рдХреЗ рд▓рд┐рдП рджреЛ рдПрдЯ-рдирд┐рдпрдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рджреВрд╕рд░рд╛ рд╣реИред рдмреЗрд╢рдХ, рдпрд╣ рд╕рдм рдЖрдкрдХреЗ рд▓рдХреНрд╖реНрдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдпрджрд┐ рдЖрдк рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЫреБрдП рдмрд┐рдирд╛ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рд╣реЗрд░рдлреЗрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрднрд╡рддрдГ рдЕрдзрд┐рдХ рдЕрд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╡реНрдпрд╛рдХрд░рдг рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдлрд╛рдпрджреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдкрд╛рд░реНрд╕рд░ рдХреЛ рд▓реЗрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕реНрдЯрд╛рдЗрд▓рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЖрдкрдХреА рдмрд╛рдд рд╕реБрдирдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ рдХрд┐ рдЕрдиреНрдп рд╕рд┐рдВрдЯреИрдХреНрд╕ рдлрд╛рдпрджреЗрдордВрдж рдХреНрдпреЛрдВ рд╣реИрдВред

"рд╡рд┐рд╕реНрддрд╛рд░ sth" "рдореИрдЪ sth" рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдбреАрдУрдПрдо рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ рдЬреЛ рдПрдХ рдЪрдпрдирдХрд░реНрддрд╛ рдХреЛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рд╣реАред nth _something_ рд╡рд╛рд▓реЗ рдЫрджреНрдо-рд╡рд░реНрдЧреЛрдВ рдХреЛ CSS рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рджреНрд╡рд╛рд░рд╛ " рд╕рдВрд░рдЪрдирд╛рддреНрдордХ " рдЫрджреНрдо-рд╡рд░реНрдЧреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, 6 рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдЫрджреНрдо рд╡рд░реНрдЧ рд╣реИрдВ: "рдЧрддрд┐рд╢реАрд▓", "рдирдХрд╛рд░рд╛рддреНрдордХ", "рд▓рдХреНрд╖реНрдп", "рд░рд┐рдХреНрдд", "рдпреВрдЖрдИ рддрддреНрд╡ рд░рд╛рдЬреНрдп" рдФрд░ "рднрд╛рд╖рд╛"ред рдпрджрд┐ рд╕реАрдПрд╕рдПрд╕ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рд╡рд┐рд╕реНрддрд╛рд░" рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ "рдирдХрд╛рд░" рдФрд░ "рд▓рдХреНрд╖реНрдп" рдЫрджреНрдо рд╡рд░реНрдЧреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рд╢реНрд░реЗрдгреА рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдлреА рд╕реБрдВрджрд░ рдврдВрдЧ рд╕реЗ рдмреИрда рд╕рдХрддрд╛ рд╣реИред

рдЫрджреНрдо рд╡рд░реНрдЧ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЯреНрд░реА рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЪрдпрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╢рд╛рдпрдж рд╡рд┐рд╕реНрддрд╛рд░ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЗрд╖реНрдЯрддрдо рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реИред

рдкреВрд░рд╛ рдЧрд▓рдд

рдПрдХ рд╕рдореБрджрд╛рдп рдЬреЛ рд╕рдВрдпреБрдХреНрдд рд░реВрдк рд╕реЗ рдЕрдиреНрдп рд╕рднреА рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░реЛрдВ рд╕реЗ рдмрдбрд╝рд╛ рд╣реИ, рдЧрд▓рдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдХреНрдпрд╛ рдмрдЪрд╛ рд╣реИ?

@hax - :extend рдереНрд░реЗрдбреНрд╕ рдкрд░ рд╣рд░ рдХрд┐рд╕реА рдХреА рддрд░рд╣ рдЕрдкрдирд╛ рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдмрд╣реБрдд рдЕрдиреБрднрд╡реА рдлреНрд░рдВрдЯ-рдПрдВрдб рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ LESS рдХреЗ рднрд╛рд░реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╡рд┐рднрд┐рдиреНрди рд╕реБрдЭрд╛рд╡реЛрдВ рдФрд░ рд╡рд┐рдЪрд╛рд░-рд╡рд┐рдорд░реНрд╢ рдХреЗ рд╣рдлреНрддреЛрдВ рдХреЗ рдмрд╛рдж, рд╣рдо :extend рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрддреЛрд╖рдЬрдирдХ рд╕рдорд╛рдзрд╛рди рдкрд░ рдЖрдПред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдмреЗрд╣рддрд░ рд╕реБрдЭрд╛рд╡ рд╣реИ, рддреЛ рдореЗрд░рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░реЗрдВ - рд╣рдо рд╕рдм рдХрд╛рди рд╣реИрдВред

@jonschlinkert рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, .this:not(.that) { } рдФрд░ .this:matches(.that) { } рдФрд░ .this:extend(.that) { } рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдорд╛рди рд╣реИрдВред рд╡рд╣ рд╣реИ: "рдЪрдпрдирдХрд░реНрддрд╛ 'рдпрд╣' рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕реЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрд░реАрдХреЗ рд╕реЗ рдЪрдпрдирдХрд░реНрддрд╛ 'рдЙрд╕' рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрд░реЗрдВред" рдЪреВрдВрдХрд┐ LESS рдЕрдХреНрд╕рд░ CSS рдореЗрдВ рд╢реБрд░реВ рдХреА рдЧрдИ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдФрд░ рд╡рд╛рдХреНрдп-рд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рднрд╛рд╖рд╛ рдХрд╛ рдПрдХ рд╕реБрдВрджрд░ рддрд╛рд░реНрдХрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИред рд╣рдо рд╕реАрдПрд╕рдПрд╕ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдкрд░ рдкреВрд░рд╛ рдзреНрдпрд╛рди рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЗрд╕рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЕрд╡рдзрд╛рд░рдгрд╛ рдореЗрдВ рд╡рд┐рд╖рдорддрд╛ рд╣реИ, рддреЛ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рд╢реБрд░реВ рд╣реЛрдЧреАред рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдорд┐рдХреНрд╕рд┐рди рдЧрд╛рд░реНрдбреНрд╕ рдореЗрдВ, "AND" рдХреЛ "рдФрд░" рд╢рдмреНрдж рд╕реЗ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ "OR" рдХреЛ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдХреНрдпреЛрдВрдХрд┐ рдореАрдбрд┐рдпрд╛ рдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдореЗрдВ рдРрд╕рд╛ рд╣реА рд╣реЛрддрд╛ рд╣реИред рд╣рдорд╛рд░рд╛ рд▓рдХреНрд╖реНрдп CSS рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдпрд╛ рдмрджрд▓рдирд╛ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ CSS рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛рдирд╛ рд╣реИ, рдФрд░ CSS рд▓реЗрдЦрдХреЛрдВ рдХреЗ рд▓рд┐рдП LESS рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдмрдирд╛рдирд╛ рд╣реИред :extend рдЗрд╕рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдпрджрд┐ рдЖрдк :not рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдЖрдк :extend рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рдирддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдордиреЗ рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╢рд┐рдХрд╛рд░ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рдорд┐рд╢реНрд░рдгреЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ "рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд" рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛?

рдЖрдЬ, рд╣рдо рдЗрд╕ рддрд░рд╣ рдПрдХ рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рдорд┐рд╢реНрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:

.square {
  .border-radius(9px);
}

рдЗрд╕ рддрд░рд╣ рд╕реЗ рдорд┐рд╢реНрд░рдг рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп (рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рд╡рд░реНрдЧ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ):

.square {
  &:extend(.border-radius);
}

рд╣рдо рдЗрд╕ рддрд░рд╣ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ:

.box {
  .border-radius:extend(9px);
}
.square {
  .border-radius:extend(9px);
}
.rectangle {
  .border-radius:extend(4px);
}

рднреЗрдж рдпрд╣ рд╣реИ рдХрд┐ "рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдорд┐рд╢реНрд░рдг" рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдореВрд▓реНрдп рдпрд╛ рдорд╛рди рдШреЛрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, .border-radius:extend(9px); , рдмрдЬрд╛рдп рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рдЕрдВрджрд░ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реЗрд╕рд┐рдЬрд╝ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдЪрдпрдирдХрд░реНрддрд╛ рдмреНрд▓реЙрдХ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, .border-radius:extend(.some-class) {} ред рдЖрдИрдПрдордПрдЪрдУ, рдпрд╣ рдирд┐рд╣рд┐рдд рдорд┐рд╢реНрд░рдгреЛрдВ ( .border-radius; ) рд╕реЗ рдХрдо рд╕реВрдХреНрд╖реНрдо рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдХрдо рд╕реЗ рдХрдо рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рдлрд┐рд░ рд╕реЗ рдЖрдИрдПрдордПрдЪрдУред

рд░реЗрдВрдбрд░ рдХрд┐рдП рдЧрдП рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ, рдХрд┐рд╕реА рднреА "рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рдорд┐рдХреНрд╕рд┐рди" рдХреЛ рдореВрд▓ рдорд┐рдХреНрд╕рд┐рди рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреИрд╕реЗ:

.box, 
.square {
    -webkit-border-radius: 9px;
    -moz-border-radius: 9px;
    border-radius: 9px;
}
.rectangle {
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}
.some-other-class, 
.another-class, 
.and-another {
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
}

рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдпрд╣ рдкрд╕рдВрдж рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЪрдпрдирдХрд░реНрддрд╛ рдмреНрд▓реЙрдХ рдХреЗ рдЕрдВрджрд░ "рд╕рд╛рдорд╛рдиреНрдп" рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╕реЗ рдкреНрд░рд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рд╕рдХреЗ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдпрд╣ рдореМрдЬреВрджрд╛ рдХрдо рд╕рдореНрдореЗрд▓рдиреЛрдВ рдХреА рд╕реВрдХреНрд╖реНрдорддрд╛ рдХреЗ рд╕рд╛рде рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдЖрдк рдХреЛрдб рдореЗрдВ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореЗрд░реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЗрдЪреНрдЫрд╛ рд╕реВрдЪреА рдореЗрдВ рд╕рдмрд╕реЗ рдКрдкрд░ рд╣реИред

рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдореВрд▓ рдЕрдиреБрд░реЛрдз рдореЗрдВ рджрд┐рдП рдЧрдП рд╕реНрдкрд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдпрд╣ рдореЗрд░реЗ рд╕рдВрд╢реЛрдзрд┐рдд рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:

.clearfix() {
    // ...
}
.navbar {
    .clearfix:extend(); // instead of &:extend(.clearfix());
}
.banner {
    .clearfix:extend();
    &:extend(.some-class); // "implicit mixin" being extended
}

рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╣рд╛рдБ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ _рдореМрдЬреВрджрд╛_ рдорд┐рдХреНрд╕рд┐рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рдЕрдВрдд рдореЗрдВ :extend рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓ рддрд░реАрдХрд╛ рд╣реИ:

.box {
  .border-radius(9px):extend;
}
.square {
  .border-radius(9px):extend;
}
.rectangle {
  .border-radius(4px):extend;
}

:extend рдмрд╛рдж рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореМрдЬреВрджрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдЙрджреНрджреЗрд╢реНрдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЬрд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ .border-radius:extend(9px); рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИ, рдЖрдИрдПрдордУ рдпрд╣ рдЕрднреА рднреА рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдорд┐рд╢реНрд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдпрд╣ рднреА рдЕрд░реНрде рд╣реИ рдХрд┐ рдкреИрд░рд╛рдореАрдЯрд░/рдорд╛рди рдмрдврд╝рд╛рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ - рдЬреЛ рд╕рдордЭрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдЖрдЙрдЯрдкреБрдЯ "рд╕рдореВрд╣реАрдХреГрдд" рдХреНрдпреЛрдВ рд╣реИред

@jonschlinkert - рдЗрд╕ рдмрд┐рдВрджреБ рд╕реЗ рдореИрдВ рдЖрдкрдХреА рд░рд╛рдп рдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдореНрдорд╛рди рдореЗрдВ рд░рдЦрддрд╛ рд╣реВрдВ рдФрд░ рдЖрдкрдХреЛ рдЬреЛ рднреА рдирд┐рд░реНрдгрдп рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ рдЙрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЖрдкрдХрд╛ рддрд░реАрдХрд╛ рдРрд╕рд╛ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ 9px рдХреЛ "рд╡рд┐рд╕реНрддрд╛рд░" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдорд┐рдХреНрд╕рд┐рди рдореЗрдВ рд╣реА рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ ...

@DesignByOnyx рджрдпрд╛рд▓реБ рд╢рдмреНрджреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЖрдк рдЬреЛ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдмрд╣реБрдд рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ, рдореЗрд░реЗ "рд▓реЗрдВрд╕" рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ (рдХрдо рдореЗрдВ) рдХреБрдЫ рдРрд╕рд╛ рд╣реИ:

.this:extend(.that) {}

рддреЛ рдЖрдк рдмрд┐рдВрджреБ рдореЗрд░реЗ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВред @matthewdl рдпрд╛ @lukeapage рдЗрд╕ рдкрд░ рдХрд┐рд╕реА рднреА рджреГрд╢реНрдп / рд░рд╛рдп рд╣реИ рдХрд┐ рдЖрдк рдореЗрдВ рд╕реЗ рдХреЛрдИ рдПрдХ рдХрд╛рд░реНрдп рдХрд░реЗрдВ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдФрд░ рд╢рд╛рдпрдж рдЕрдиреНрдп), рд▓реЗрдХрд┐рди рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдХрд┐рд╕реА рднреА рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде "рднрд╡рд┐рд╖реНрдп-рдкреНрд░реВрдлрд┐рдВрдЧ" рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╛ рддреЛ рдХреБрдЫ рдЧреЛрдЪрд╛ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдРрд╕рд╛ рд╣реЛрддреЗ рд╣реБрдП рджреЗрдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдорд┐рдХреНрд╕рд┐рдВрд╕ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдХрдо рдХреЗ рд▓рд┐рдП рдПрдХ рд░реЛрдорд╛рдВрдЪрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рдпрд╣ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдбреАрдЖрд░рд╡рд╛рдИ рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рдХрд░реЗрдЧрд╛ рдЬреЛ рдореИрдВ рдЗрд╕ рд╕рдордп рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдВ

рдХрдо рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ "рд╕рд╣реА рдХрд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛"? рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдорд┐рд╢реНрд░рдг рдореЗрд░реЗ рдХреЛрдб рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

.someMixin {
    color: red;
}

рдФрд░ рдлрд┐рд░ рдмрд╛рдж рдореЗрдВ рдореИрдВ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:

#someElement {
    .someMixin;
}

рдЗрд╕ рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рдЗрд╕ рдХрдо рдХреЛрдб рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рдХ рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдорд╛рд░реНрдЯ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

.someMixin,
#someElement
{
    color:red;
}

рдореБрдЭреЗ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ :exends рдХреАрд╡рд░реНрдб рдХреНрдпреЛрдВ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП? рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рдЕрдиреБрдХреВрд▓рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдХрд░реЗрдВред

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

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

рдЗрддрдиреЗ рдорд╣рд╛рди рджрд┐рдорд╛рдЧ рдПрдХ рдЬреИрд╕реЗ рд╕реЛрдЪрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдХрдо рд╡реЛрдЯ рджреЗрддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдП) рд╣рдореЗрдВ "рд╕рд╛рдорд╛рдиреНрдп" рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЧрдбрд╝рдмрдбрд╝ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рддрдХ рдХрд┐ extend рд╕реБрд╡рд┐рдзрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдерд┐рд░ рди рд╣реЛ рдФрд░ рдХрд▓реНрдкрдирд╛ рдЕрдзрд┐рдХ рдкреВрд░реНрдг рд╣реЛ, рдмреА) рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрд╕ рдХреЙрд▓ рдХреЛ рдЕрдкрдиреЗ рд▓рд┐рдП рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рд╕реА) рдХрдИ рдмрд╛рд░ рдЪреАрдЬреЗрдВ рдЗрддрдиреА рд╕реНрдкрд╖реНрдЯ рдФрд░ рдХрдЯ-рд╕реВрдЦреА рд▓рдЧрддреА рд╣реИрдВ, рдЬрдм рдЗрд╕ рдорд╛рдорд▓реЗ рдХрд╛ рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдорд┐рд╢реНрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдИ рд╡рд┐рд▓рдХреНрд╖рдгрддрд╛рдУрдВ рдХреЛ рднреВрд▓ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдмрдирд╛ рджреЗрдВрдЧреЗ рд╕реБрдЭрд╛рд╡ рдХрдо рд╕реЗ рдХрдо рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдФрд░ рд╢рд╛рдпрдж рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдЬрдмрдХрд┐ рдЕрднреА рднреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореМрдЬреВрдж рд╕рднреА "рдорд┐рдХреНрд╕рд┐рди рд╣реИрдХреНрд╕" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ ... рдЕрд╣рдо, рд╡реЗ рдЬрд╛рди рдЧрдП рд╣реИрдВ рдФрд░ рдкреНрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред

:рдПрдХреНрд╕рдЯреЗрдВрдбреНрд╕ () рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЕрднреА рднреА рдПрдХ рдмрд╣реБрдд рд╣реА рдЕрдирд╛рдбрд╝реА рд╣реИрдХ рд╣реИ рдЬреЛ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдФрд░ рдХрдард┐рди рд╣реИред

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

рд╕рд╛рде рд╣реА, рдЖрдк рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗ рдХрдо рдорд┐рд╢реНрд░рдг рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрдХрд▓рд┐рдд рд╕реАрдПрд╕рдПрд╕ рдХреЗ рд╕реНрдерд╛рди рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@bdkjones рдХреГрдкрдпрд╛ рдХреЛрдб рдореЗрдВ рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЗ рд╕рд╛рде "рд╕реАрдПрд╕рдПрд╕ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ" рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдз рдмрдирд╛рдПрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рдЗрдирдкреБрдЯ рдХрд╛ рд╣рдореЗрд╢рд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред

рдореБрджреНрджрд╛ рд▓реЗрдирд╛! рдореЗрд░реА рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдЗрддрдирд╛ рдХрдареЛрд░ рд╣реЛрдиреЗ рдХрд╛ рдореЗрд░рд╛ рдорддрд▓рдм рдирд╣реАрдВ рдерд╛; рдореИрдВ рдХрднреА-рдХрднреА рдмрд╣рдХ рдЬрд╛рддрд╛ рд╣реВрдВред

рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдХреЛрдб рдХреА рдмрд╛рдд рд╣реИ, рдореБрдЭреЗ рдбрд░ рд╣реИ рдХрд┐ рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреЛрдбрдХрд┐рдЯ рдореЗрдВ рд╡реНрдпрд╕реНрдд рд╣реВрдВред рдореИрдВрдиреЗ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ рднрд╛рд╖рд╛рдУрдВ рдХреЛ рд╣реИрд╢ рдХрд░рдиреЗ рджрд┐рдпрд╛!

рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ! рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреЛрдбрдХрд┐рдЯ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝ рд░рд╣реЗ рд╣реИрдВ, рдЕрдкрдиреЗ рдирд┐рд░рдВрддрд░ рдЗрдирдкреБрдЯ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред рд╕рднреА рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╕рднреА рдХреЛ рдЦреБрд╢ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рдордЬрдмреВрдд рд░рд╛рдп рд╣реА рдРрд╕реА рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рдкрд╣рд┐рдпреЛрдВ рдХреЛ рдШреБрдорд╛рддреА рд░рд╣рддреА рд╣реИрдВ!

@bdkjones рд╕рдорд╕реНрдпрд╛ рдХреИрд╕реНрдХреЗрдб рд╣реИред рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЪрдпрдирдХрд░реНрддрд╛ рд╕рдореВрд╣ рдХрд╛ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдВрднрд╡рддрдГ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрди рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдШреЛрд╖рдгрд╛рдУрдВ рдХреЛ рд░реЛрдХрдиреЗ рд╡рд╛рд▓реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ "рдкрд╣рд▓реЗ" рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджреЗрдЧрд╛ред

рд▓реЗрдХрд┐рди, рдореИрдВ рдЖрдкрдХреЗ рдмрдпрд╛рдиреЛрдВ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдорд┐рдХреНрд╕рд┐рди рдПрдХреНрд╕рдЯреЗрдВрдб рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рдЦрд┐рд▓рд╛рдл рдпрд╣ рдпрд╣рд╛рдВ рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдЖ рд╣реИред рдЪрдпрдирдХрд░реНрддрд╛ рдПрдХреНрд╕ рдХреЛ рдЪрдпрдирдХрд░реНрддрд╛ рдпрд╛ рдорд┐рд╢реНрд░рдг рд╡рд╛рдИ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ:

.border-radius(9px):extend;

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрджрд┐ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдпрд╣ рдорд┐рдХреНрд╕рд┐рдиреНрд╕ (рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рд╢рдВрд╕рдиреАрдп рд╣реИ) рдХреЗ рд╕рд╛рде рдлрд┐рдЯ рдирд╣реАрдВ рд╣реИ, рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рд╣рдо рдорд┐рдХреНрд╕рд┐рдиреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╕рд┐рдВрдЯреИрдХреНрд╕ рдвреВрдВрдврддреЗ рд╣реИрдВ, рдмрдЬрд╛рдп рдЗрд╕рдХреЗ рдХрд┐ @bdkjones рдкреЙрдЗрдВрдЯреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд░реВрдкрдХ рдХреЛ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ

рдореИрдВ рдЕрд╕рд╣рдордд рд╣реВрдВред рдЕрдЧрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВред рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХрд╛рд░рдг рдХреЗ рдирдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреНрдпреЛрдВ рдмрдирд╛рдПрдВ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рдорд┐рд╕рд╛рд▓ рд╣реИ, рдореИрдВ рдЕрдкрдиреЗ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЗ рдкреАрдЫреЗ рдкреНрд░рдЪреБрд░ рдЙрджрд╛рд╣рд░рдг рдФрд░ рд╕рд╣рд╛рдпрдХ рдХрд╛рд░рдг рджреЗрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреА рд░рд╛рдп рдмрд╣реБрдд рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рд▓рдЧрддреА рд╣реИред рдФрд░ рдЪреВрдВрдХрд┐ рдЖрдкрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрдХ рджреЛ рдмрд╛рд░ рдпрд╣ рдмрдпрд╛рди рджрд┐рдпрд╛ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рд╕рдордЭрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдХреНрдпреЛрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ? рдпрд╛ рд╕рдордЭрд╛рдПрдВ рдХрд┐ рдХрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ? рдпрд╛ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ рдХрд┐ рдХреИрд╕реЗ рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЛ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди "рд╡рд┐рд╕реНрддрд╛рд░" рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рдмрд┐рдирд╛?


рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЪрдпрдирдХрд░реНрддрд╛ рд╕рдореВрд╣ рдХрд╛ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдВрднрд╡рддрдГ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрди рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдШреЛрд╖рдгрд╛рдУрдВ рдХреЛ рд░реЛрдХрдиреЗ рд╡рд╛рд▓реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ "рдкрд╣рд▓реЗ" рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджреЗрдЧрд╛ред
...
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрджрд┐ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдпрд╣ рдорд┐рдХреНрд╕рд┐рди (рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рд╢рдВрд╕рдиреАрдп рд╣реИ) рдХреЗ рд╕рд╛рде рдлрд┐рдЯ рдирд╣реАрдВ рд╣реИ, рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рд╣рдо рдорд┐рдХреНрд╕рд┐рди рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╕рд┐рдВрдЯреИрдХреНрд╕ рдвреВрдВрдврддреЗ рд╣реИрдВ, рдмрдЬрд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░реЗрдВ рдЬреЛ рд░реВрдкрдХ рдХреЛ рдЙрд▓рдЭрд╛рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ bdkjones рдмрддрд╛рддреЗ рд╣реИрдВред .

рдирд╣реАрдВред рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрддрд╛рдпрд╛, рдЙрдиреНрд╣реЛрдВрдиреЗ рд╣рдореЗрдВ рдХрдо рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХрд╛ рдЖрдЧреНрд░рд╣ рдХрд┐рдпрд╛ - рд╡рд╣ рдЙрдирдХреА рдирд┐рдЪрд▓реА рдкрдВрдХреНрддрд┐ рдереАред рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдЙрдирдХрд╛ рд╕реБрдЭрд╛рдпрд╛ рддрд░реАрдХрд╛ рдЧрд▓рдд рдерд╛, рд▓реЗрдХрд┐рди рдЗрд░рд╛рджрд╛ рдЕрдЪреНрдЫрд╛ рдерд╛ред рд╡рд╣ рдЬрд┐рд╕ рдХреИрд╕реНрдХреЗрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рд╡рд╣ рд╡рд╣ рдЭрд░рдирд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдЕрднреА рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЖрдкрдХреЛ рдХреИрд╕реНрдХреЗрдб рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреЛ рдХреЛрдИ рднреА рдорд┐рд╢реНрд░рдг рдХреЗ рдмрдЬрд╛рдп рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд╡рд╣ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЗрд╕рд▓рд┐рдП Less.js рдЖрдкрдХреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬрдм рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдпрд╛ _not_ рдЬрдм рдпрд╣ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рдкрд╣рд▓рд╛ "рд╕реА" рдХреИрд╕реНрдХреЗрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЦрдбрд╝рд╛ рд╣реИ, рдХреИрд╕реНрдХреЗрдб рднреМрддрд┐рдХ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рд╕рдореЗрдХрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдн рдХреЛ рдирдХрд╛рд░рддрд╛ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ?

рддреЛ рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреА рднрд╛рд╡рдирд╛ рд╕реНрдкрд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛, рдпрд╛ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╣реИрдВ? рдпрджрд┐ рдЖрдк рд╡рд╛рдХреНрдп-рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╡рд┐рд░реБрджреНрдз рд╣реИрдВ рддреЛ рдХреГрдкрдпрд╛ рдЪреАрдЬреЛрдВ рдХреЛ рдЧрддрд┐рдорд╛рди рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдФрд░ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░реЗрдВ, рдЕрдиреНрдпрдерд╛ рдЖрдЗрдП рдХрд┐рд╕реА рдРрд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреА рдкреНрд░рдЧрддрд┐ рдореЗрдВ рдмрд╛рдзрд╛ рди рдбрд╛рд▓реЗрдВ рдЬреЛ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╢рд╛рдЬрдирдХ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛, рдпрд╛ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╣реИрдВ?

рдореИрдВ рдлреАрдЪрд░ рдХреЗ рд▓рд┐рдП рд╣реВрдВ, рдмрд┐рд▓реНрдХреБрд▓ред рдпрд╣ рдПрдХ рд╕реНрдкрд╖реНрдЯ рджрд┐рд╢рд╛ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕ рд╕реВрддреНрд░ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреАред рдХреБрдЫ рд╡рд┐рдЪрд╛рд░:

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЕрдЬреАрдм рд╣реИ:

.something:extend( .clearfix() ) { }

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

рдлрд┐рд░ рдпрд╣ рд╣реИ рдЬреЛ рдЖрдкрдиреЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдХрд╛рд░рдгреЛрдВ рд╕реЗ:

.border-radius(9px):extend;

...рдЬрд┐рд╕рд╕реЗ рдореБрдЭреЗ рдПрд▓рд░реНрдЬреА рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реБрдИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореМрдЬреВрджрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд╡рд┐рдкрд░реАрдд рд▓рдЧрддрд╛ рд╣реИред рддреЛ рд╡рд╣реАрдВ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рджреБрд░реБрдкрдпреЛрдЧ рдХреА рддрд░рд╣ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред

рд▓реЗрдХрд┐рди

рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рд╡рд╣рд╛рдБ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдорд┐рдХреНрд╕рд┐рди рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрд▓рдЧ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдорд┐рдХреНрд╕рд┐рди рд╕рд╣рд┐рдд рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдПрдХреНрд╕рдЯреЗрдВрдб рд╕реНрдкреЗрдХ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ:

#namespace {
  .box-template {
    .subelement {
      // we'll add the all flag to extend everything here
    }
  }
}
.clearfix() {
  // a clearfix mixin
}
.text-shadow(@shadow) {
  -moz-text-shadow: @shadow;
  text-shadow: @shadow;
}
.some .random .selector {
  // with properties
}
.mybox {
  .clearfix:extend;
  #namespace > .box-template:extend !all;
  .text-shadow:extend(2px 2px #ff0000);
  .some .random .selector:extend;
}

рд▓реЗрдХрд┐рди.... рдПрдХ рдкреВрд░реНрдг рдЪрдпрдирдХрд░реНрддрд╛ ( .some .random .selector ) рдХреЗ рд╕рд╛рде, рдпрд╣ рдЧрд▓рдд рдкрдврд╝рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╕ .selector рдХреЗ рдкрд╛рд╕ рдЗрд╕рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИред рдФрд░ "рд╡рд┐рд╕реНрддрд╛рд░" рд╢рдмреНрдж рдЦреЛ рдЬрд╛рдиреЗ рд▓рдЧрддрд╛ рд╣реИ, рдЬрдм рдпрд╣ рдЗрд╕ рдШреЛрд╖рдгрд╛ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╢рдмреНрдж рд╣реИред рдРрд╕рд╛ рдирд╣реАрдВ рдерд╛ рдЬрдм рдЗрд╕реЗ &:extend() рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╢реБрд░реБрдЖрдд рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдерд╛), рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЯреВрдЯрдиреЗ рд▓рдЧрддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд░рдЦреВрдВрдЧрд╛:

// Migrating existing syntax, but ommitting a parens requirement when used with &:

.mybox {
  &:extend .clearfix;
  &:extend #namespace > .box-template !all;
  &:extend .text-shadow(2px 2px #ff0000);
  &:extend .some .random .selector;
}

// Adopting something similar to the SASS approach

.mybox {
  <strong i="24">@extend</strong> .clearfix;
  <strong i="25">@extend</strong> #namespace > .box-template !all;
  <strong i="26">@extend</strong> .text-shadow(2px 2px #ff0000);
  <strong i="27">@extend</strong> .some .random .selector;
}

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдорд┐рдХреНрд╕рд┐рди рдФрд░ рдореАрдбрд┐рдпрд╛ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдиреЗ рдЗрд╕ рдмрд╛рдд рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛ рд╣реИ рдХрд┐ :extend рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рдореВрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЗрддрдирд╛ рд▓рдЪреАрд▓рд╛ рдирд╣реАрдВ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╣рдо рдХрдИ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдФрд░ рдорд┐рд╢реНрд░рдгреЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ: рд╡рд┐рд╕реНрддрд╛рд░ рд╕рд╣реАред рдпрджрд┐ рд╣рдо рдорд┐рд╢реНрд░рдг рдХреЗ рд▓рд┐рдП "рд╡рд┐рд╕реНрддрд╛рд░" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдореИрдВрдиреЗ .border-radius(9px):extend; рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдирд╣реАрдВ рджрд┐рдпрд╛, @DesignByOnyx рдиреЗ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ .border-radius:extend(9px); рдкреНрд░рд╕реНрддрд╛рд╡ рд░рдЦрд╛

рд▓реЗрдХрд┐рди рдпрд╛ рддреЛ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдореЗрд░реЗ рд╕рд╛рде рдареАрдХ рд╣реИред рдпрд╛ рд╣рдо .border-radius(9px) !extend; рдпрд╛ .border-radius:shamallamadingdongscoobiedoo(9px):extendmyass (рдЬреЗрдХреЗ) рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд╕реЗ рдореБрдЭреЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдорд┐рд╢реНрд░рдг рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╡рд┐рд╕реНрддрд╛рд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рддреЛ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдпрд╣ рд╕рдм рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдЖ рд░рд╣реЗ рд╣реИрдВ, рдЖрдк рд╢рд╛рдпрдж рдЕрдкрдиреЗ рд▓рд┐рдП рдЪреАрдЬреЗрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдорд┐рдХреНрд╕рд┐рди рдХреА рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЛ рдорд┐рдХреНрд╕рд┐рди_ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рдФрд░ рдпрд╣ рдЙрди рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдЧрд╛ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореМрдЬреВрджрд╛ рдорд┐рдХреНрд╕рд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рдЪреБрдХреЗ рд╣реИрдВ, рдФрд░ рдЕрдм рдЗрд╕рдХреЗ рд╕рд╛рде рдкреВрд░реНрд╡рддрд╛ рдФрд░ рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рднреА рд╣реИ <strong i="14">@import</strong> (reference) рд╕реБрд╡рд┐рдзрд╛ (рдЬреЛ, btw, рдореИрдВ рдЕрднреНрдпрд╛рд╕ рдФрд░ рдкреНрдпрд╛рд░ рдореЗрдВ рдХрд╛рдлреА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ)ред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ:

  • рдЬрдм рдЖрдк рдПрдХ рдорд┐рдХреНрд╕рд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рдЧреБрдг рдорд┐рдХреНрд╕рд┐рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЪрдпрдирдХрд░реНрддрд╛ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдХреЙрдкреА рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред
  • рдЬрдм рдЖрдк рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ _extending_ рдЪрдпрдирдХрд░реНрддрд╛ _extended_ рд╡рд░реНрдЧ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдХреЙрдкреА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
  • рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЬрдм рдЖрдк рдПрдХ рдорд┐рд╢реНрд░рдг рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреЙрд▓рд┐рдВрдЧ рдЪрдпрдирдХрд░реНрддрд╛ рдорд┐рд╢реНрд░рдг рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдХреЙрдкреА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рджреЛ рд╕рд╛рд▓ рдХреА рдмрд╣рд╕ рдХреЗ рдмрд╛рдж рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд░ рдмрд╣рд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХреНрдпреЛрдВ рдмрдврд╝рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, > 100 рдкреЛрд╕реНрдЯ, рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╢реЛрдз рдФрд░ рдорд╛рдорд▓рд╛ рдкрд╣рд▓реЗ рд╣реА рдмрдирд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ @extend рд╕реЗ _рдмрд╣реБрдд рдЕрдзрд┐рдХ_ рд▓рдЪреАрд▓рд╛ рд╣реИ

рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ:

рдПрдХ рдкреВрд░реНрдг рдЪрдпрдирдХрд░реНрддрд╛ (.some .random .selector) рдХреЗ рд╕рд╛рде, рдпрд╣ рдЧрд▓рдд рдкрдврд╝рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╕ .selector рдХреЗ рдкрд╛рд╕ рдЗрд╕рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИред рдФрд░ "рд╡рд┐рд╕реНрддрд╛рд░" рд╢рдмреНрдж рдЦреЛ рдЬрд╛рдиреЗ рд▓рдЧрддрд╛ рд╣реИ, рдЬрдм рдпрд╣ рдЗрд╕ рдШреЛрд╖рдгрд╛ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╢рдмреНрдж рд╣реИред

рдореИрдВ рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рдпрд╣ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдХрд╣рдиреЗ рдЬреИрд╕рд╛ рдирд╣реАрдВ рд╣реИ "рд╕реАрдПрд╕рдПрд╕ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рд╕рдореВрд╣рдмрджреНрдз рдЪрдпрдирдХрд░реНрддрд╛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ"? :hover рдпрд╛ :after рдХреНрдпрд╛? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реАрдПрд╕рдПрд╕ рджреЗрд╡ рдЗрд╕реЗ рдареАрдХ рд╕реЗ рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдиреНрдп рдЫрджреНрдореЛрдВ рдХреА рддрд░рд╣ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

.some .random .selector:extend(.something) {}

рдореБрдЭреЗ рдпрд╣ рд▓рдЪреАрд▓рд╛рдкрди рдкрд╕рдВрдж рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдпрд╛ рддреЛ (рдпрд╛ рджреЛрдиреЛрдВ) рдЪрдпрдирдХрд░реНрддрд╛ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЬреЛ .some .random .selector , рди рдХрд┐ .selector , рдпрд╛ рдореИрдВ рдЗрд╕реЗ рдЪрдпрдирдХрд░реНрддрд╛ рдмреНрд▓реЙрдХ рдХреЗ рдЕрдВрджрд░ рдЯрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдорд┐рдХреНрд╕рд┐рди рдФрд░ рдореАрдбрд┐рдпрд╛ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛

рдореИрдВрдиреЗ рдореАрдбрд┐рдпрд╛ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдЗрд╕реЗ рдорд┐рд╢реНрд░рд┐рдд рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред "рд╕рднреА рд╕рдбрд╝рдХреЗрдВ _____ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИрдВ" рдорд┐рдХреНрд╕рд┐рди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреА рд╣реИрдВред ;-)

рдореИрдВ рдЕрдкрдиреЗ рджреЛ рд╕реЗрдВрдЯ рдореЗрдВ рдлреЗрдВрдХрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рдЕрдВрджрд░ рдорд╛рддрд╛-рдкрд┐рддрд╛ - :extend( .some-mixin() ) - рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рдЗрддрдирд╛ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ :extend( .some-selector ) рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдерд╛рдкрд┐рдд рд╣реИ рдФрд░ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдорддрд▓реА рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИред рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдбрдмрд▓ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдпрд╣ _does_ рдереЛрдбрд╝реЗ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдорд┐рд╢реНрд░рдг рдФрд░ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ "рд╡рд┐рд╕реНрддрд╛рд░" рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕рдорд╛рди рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡реИрд╕реЗ рд╣реА рдХреНрд▓рд╛рд╕рд┐рдХ рдХрдо рдореЗрдВ рдЙрдирдХреЗ рд╕рд╛рде рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

header {
    .some-selector;
    .some-mixin;
    .some-mixin();
}

рдЬреИрд╕реЗ, рдореБрдЭреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдмреБрд░рд╛ (рдпрд╛ рд╕реАрдорд┐рдд) рдирд╣реАрдВ рд▓рдЧрддрд╛:

header {
    &:extend( .some-selector );
    &:extend( .some-mixin );
    &:extend( .some-mixin() );
}

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдорд┐рд╢реНрд░рдг рдФрд░ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде "рд╡рд┐рд╕реНрддрд╛рд░" рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдЬреИрд╕реЗ рдХреНрд▓рд╛рд╕рд┐рдХ рд▓реЗрд╕ рдореЗрдВ рдЙрдирдХреЗ рд╕рд╛рде рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореИрдВ рдЙрд╕ рдмрд┐рдВрджреБ рдкрд░ рдЙрд╕реА рдкреГрд╖реНрда рдкрд░ рд╣реВрдВред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рджреЛ рд╕рд╛рд▓ рдХреА рдмрд╣рд╕ рдХреЗ рдмрд╛рдж рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓рд┐рдП рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдкрд░ рдмрд╣рд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХреНрдпреЛрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, > резрежреж рдкреЛрд╕реНрдЯ

рдпрд╣ рдЪрд╛рд╣рдиреЗ рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИред рдирд╣реАрдВ, рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ред рдлрд┐рд░ рднреА рдЙрд╕ рд╕рдордп, рд╣рдо рдмрд╛рдж рдореЗрдВ рдирд┐рдкрдЯрд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддреЗ рдереЗред рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рд╕рд╡рд╛рд▓ рдкреВрдЫрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдореЗрдВ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЙрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╣рд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗред рдЕрдЧрд░ рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдХреБрдЫ рдЙрдкрдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╣реИ рддреЛ рдкреНрд░рд╢реНрди рдкрд░ рдлрд┐рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдХреБрдЫ рднреА рдЧрд▓рдд рдирд╣реАрдВ рд╣реИред LESS рдмрд┐рдирд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рд╣реИред рдЗрд╕реЗ рдЬрд▓реНрджреА рд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рддреЛ, рд╣рдо рдЗрд╕рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреЗ рд╣реИрдВ?

.mybox {
  &:extend(.clearfix());
  &:extend(#namespace > .box-template all);
  &:extend(.text-shadow(2px 2px #ff0000));
  &:extend(.some .random .selector);
}

рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рдЕрдВрджрд░ рдорд╛рддрд╛-рдкрд┐рддрд╛ - :extend( .some-mixin() ) - рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рдЗрддрдирд╛ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ :extend( .some-selector ) рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдерд╛рдкрд┐рдд рд╣реИ

рд╣рд╛рдБ рд╕рдЪ рд╣реИ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдо.рдЬреЗрдПрд╕ рдореЗрдВ рдбрдмрд▓ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рд▓рд┐рдП рдорд┐рд╕рд╛рд▓ рд╣реИ, рдФрд░ рдореМрдЬреВрджрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рдеред рдФрд░ рдЬреЛ рдорд┐рд╕рд╛рд▓ рдкрд╣рд▓реЗ рд╣реА рддрдп рдХреА рдЬрд╛ рдЪреБрдХреА рд╣реИ, рд╡рд╣ рдЖрдВрдЦреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрддрдиреА рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рдЬрд┐рддрдиреА рд╣рдо рдорд┐рдХреНрд╕рд┐рди рдХреЗ рд╕рд╛рде рд╕реБрдЭрд╛ рд░рд╣реЗ рд╣реИрдВред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рд╣рдо рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

.one:nth-child(5) {
  color: red;
}
// We can extend psuedos
.two:extend(.one:nth-child(5)) {
  background: blue;
}
// And attributes
.two:extend(.one, [hidden]) {
  width: 2px;
}

рдЖрдкрдХреЛ рдореМрдЬреВрджрд╛ рд╕реАрдПрд╕рдПрд╕ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рдиреЗрд╕реНрдЯреЗрдб рдорд╛рддрд╛-рдкрд┐рддрд╛ рднреА рдорд┐рд▓реЗрдВрдЧреЗред

рддреЛ рдпрд╣рд╛рдБ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ _nested parens_ рдФрд░ _nested pseudo-class_ рд╕рд┐рдВрдЯреИрдХреНрд╕ рджреЛрдиреЛрдВ рд╣реИрдВред рдФрд░ рдореБрдЭреЗ рдЗрд╕рд╕реЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдЖрдИрдПрдордУ рд╣реИред

рддреЛ рдореИрдВ @DesignByOnyx рд╕реЗ рд╕рд╣рдордд

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореВрд▓ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХрдИ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рд╕реЗ рдЕрд▓рдЧ рд╡рд░реНрдЧреЛрдВ рдпрд╛ рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

.banner {
    &:extend(.clearfix(), .border-radius(4px), .alert, .navbar-fixed-top, [hidden]); 
}

рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рддрдВрдЧ рд╣реИред рдпрд╣рд╛рдВ рдХреЛрдИ рд╢рд┐рдХрд╛рдпрдд рдирд╣реАрдВ рд╣реИред

рддреЛ, рд╣рдо рдЗрд╕рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреЗ рд╣реИрдВ?

рд╣рд╛рдВред рдкреВрд░реА рддрд░рд╣ред рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рдРрд╕рд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИред рддреЛ рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рд╣реВрдБред

рд╣рд╛рдВред рдкреВрд░реА рддрд░рд╣ред рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рдРрд╕рд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИред рддреЛ рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рд╣реВрдБред

рддреЛ рдХреНрдпрд╛ рдпрд╣ рдкрд╛рд░рд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдкреНрд░рд╢реНрди, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реИ: рд╡рд┐рд╕реНрддрд╛рд░, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ "рд╕рднреА" рдХреАрд╡рд░реНрдб рдЙрд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХрд╣рд╛рдВ рдлрд┐рдЯ рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдпрд╣ рд╢рд╛рдпрдж рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджреЗ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЖрдкрдиреЗ рдЕрдкрдирд╛ рдорд╛рдорд▓рд╛ рдмрдирд╛ рд▓рд┐рдпрд╛ рд╣реИ, рд╢реНрд░реАрдорд╛рди рд╢реНрд▓рд┐рдВрдХрд░реНрдЯред рдЖрдкрдХреЛ рдХрд╛рдиреВрди рдореЗрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред ;)

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реИ :exend

рд▓реЗрдХрд┐рди рд╣рдо рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрд░рддреЗ рд╣реИрдВ ;-) рдореИрдВрдиреЗ рдЗрд╕реЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдХрд┐рдпрд╛ рд╣реИред рдЕрднреА рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдерд╛:

.global-nav {
  // Extend and override bootstrap styles
  &:extend(.navbar, .navbar-fixed-top all, .navbar-inverse); // this works, and it's pretty handy
  &.hidden:extend(.navbar.hidden) {}
  &.visible:extend(.navbar.visible) {}
  &:hover {
    background: lighten(@brand-primary, 5%);
  }
  .navbar-brand {
    padding-left: 20px; 
  }
  .navbar-nav > .active > a {
    &, &:hover, &:focus {
      background-color: darken(@brand-primary, 5%);      
    }
  }
}

рдЖрдкрдиреЗ рдЕрдкрдирд╛ рдорд╛рдорд▓рд╛ рдмрдирд╛ рд▓рд┐рдпрд╛ рд╣реИ, рд╢реНрд░реАрдорд╛рди рд╢реНрд▓рд┐рдВрдХрд░реНрдЯред рдЖрдкрдХреЛ рдХрд╛рдиреВрди рдореЗрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред ;)

Pfft, рдпреЛрдЧреНрдп рдУрд╣, рддреБрдо рд░реЛрдХреЛ!

рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕:

.foo {
  &:extend( .bar() );
}

рдмрдврд╝рд┐рдпрд╛ рд╣реИред рдореБрдЭреЗ рдХреЛрд╖реНрдардХ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЕрдЬреАрдм рдирд╣реАрдВ рд▓рдЧрддреЗред

рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рд▓реЛрдЧ рдЬрд▓реНрджреА рдХрд░реЗрдВ рддрд╛рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рдПрд╕рдПрдПрд╕рдПрд╕ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╕рднреА рдЕрдЪреНрдЫреЗ рд╕рд╛рдорд╛рди рдХрд░ рд╕рдХреВрдВ: рдбреА

рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, @mgerring !

+1 рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддреЗ рд░рд╣реЗрдВ :)

рдореВрд▓ рдкреЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП:

.clearfixed {
   // stuff
}
.clearfix() {
    &:extend(.clearfixed);
}
.navbar {
  .clearfix();
}
.banner {
  .clearfix();
}

рд╢рд╛рдпрдж рдпрд╣ рдкреЛрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд╕рдордп рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛? рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЖрдк рдЬреЛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕рдХреЗ рдмрд╣реБрдд рдХрд░реАрдм рд╣реИрдВ:

.clearfixed,
.navbar,
.banner {
  // stuff
}

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

рд╣рд╛рдБ, рдкреНрд░рддрд┐ @ рд╕рд╛рдд-рдЪрд░рдг-рдЕрдзрд┐рдХрддрдо рдмрд┐рдВрджреБ, рдпрд╣ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдореБрд╣рд╛рд╡рд░реЗрджрд╛рд░ рдирд╣реАрдВ рд╣реИред

рдареАрдХ рд╣реИ - рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВрдиреЗ рдЕрдм рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдкрдврд╝ рд▓рд┐рдпрд╛ рд╣реИ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рд▓рдХреНрд╖реНрдп рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рдореИрдВрдиреЗ рдЬрд┐рд╕ "рдХрдВрдХрд╛рд▓" рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рд╕рдВрдХрд▓рд┐рдд рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╕рд┐рд░реНрдл рдХрдЪрд░рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ .clearfixed рд╡рд░реНрдЧ рдХреЛ рдорд┐рд╢реНрд░рдг рдХреЗ рдмрд╛рд╣рд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред &:рд╡рд┐рд╕реНрддрд╛рд░(.clearfix()) рдЕрдм рдореЗрд░реЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдФрд░ рдмрд╣реБрдд рд░реЛрдорд╛рдВрдЪрдХ рд╣реИред рдЕрднреА рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЕрдкрдиреЗ CSS рдореЗрдВ рдЧрдВрджрдЧреА рдлреИрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрдВрдХрд╛рд▓ рд╡рд░реНрдЧреЛрдВ рд╕реЗ рдирд┐рдкрдЯреВрдВрдЧрд╛ред

рдпрд╣рд╛рдБ рдмрдврд╝рд┐рдпрд╛ рдЪрд░реНрдЪрд╛!

:+1:

рддреЛ рд╣рдо рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдЙрдореНрдореАрдж рдХрдм рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдпрд╣ OOCSS рдЬреИрд╕реА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЗ рд▓рд┐рдП "рдЕрдореВрд░реНрдд рд╡рд░реНрдЧ" рдЬреИрд╕реА рд╕рдВрд░рдЪрдирд╛рдПрдБ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЙрдкрдпреЛрдЧреА рд╣реИред

  • рддрдп рдХрд░реЗрдВ рдХрд┐ рд╣рдо рдиреЗрд╕реНрдЯрд┐рдВрдЧ/рд╕реНрдХреЛрдк рдФрд░ рдорд┐рдХреНрд╕рд┐рди рдмрдирд╛рдо рд╕рд╛рдорд╛рдиреНрдп рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ рдЙрджрд╛
.a {
  color: green;
}
#thing {
  .a() {
    color: black;
   }
}

.b:extend(#thing .a) {}  //
.b:extend(.a) {}  // and if so is the output wrapped by #thing?
.b:extend(.a()) {}  // do I need special format to say extend only that mixin?
  • рдХреНрдпрд╛ рд╣рдо рддрд░реНрдХреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рд╣рдо рд╕рдорд╛рди рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ?
  • рдорд┐рдХреНрд╕рд┐рди рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рди рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП-рд╕реАрдПрд╕рдПрд╕-рд╡рд┐рдЬрд╝рд┐рдЯрд░ рдореЗрдВ рдмрджрд▓реЗрдВ
  • рдорд┐рд╢реНрд░рд┐рдд рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬрд╝рд┐рдЯрд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдирдП рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдирд┐рдпрдо рдмрдирд╛рдПрдВ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдХрдард┐рди рдмрд┐рдЯ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ _exactly_ рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдирд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рддрдп рдХрд░реЗрдВ рдХрд┐ рд╣рдо рдиреЗрд╕реНрдЯрд┐рдВрдЧ/рд╕реНрдХреЛрдк рдФрд░ рдорд┐рдХреНрд╕рд┐рди рдмрдирд╛рдо рд╕рд╛рдорд╛рдиреНрдп рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ рдЙрджрд╛

рдореИрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдорд┐рдХреНрд╕рд┐рди рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛:
.b:extend(.a(1, 2, 3)) {} рдХреЛ 'рдмреА' рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рдПрдХ рдЕрдЬреНрдЮрд╛рдд рдЧреИрд░-рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рдорд┐рд╢реНрд░рдг (рдпрд╛рдиреА рд╕рд╛рдзрд╛рд░рдг рдЪрдпрдирдХрд░реНрддрд╛) рдмрдирд╛рдиреЗ рдХреЗ рдмрд░рд╛рдмрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ .a(1, 2, 3) рдЕрдВрджрд░ рдмреБрд▓рд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛рдиреА рдпрд╣:

.a(<strong i="11">@a</strong>, <strong i="12">@b</strong>, @c) {
    // ...
}

.b:extend(.a(1, 2, 3)) {}

рдЗрд╕рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

.a(<strong i="16">@a</strong>, <strong i="17">@b</strong>, @c) {
    // ...
}

#__anon_a_1_2_3 {.a(1, 2, 3);}

.b:extend(#__anon_a_1_2_3) {}

рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ #__anon_a_1_2_3 рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХреЛрдИ рднреА рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдирд┐рдпрдо рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдХрдо рдпрд╛ рдЕрдзрд┐рдХ рд╕рд░рд▓ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рддреЛ рдЙрдкрд░реЛрдХреНрдд рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ #thing .a рдЙрджрд╛рд╣рд░рдг рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд┐рд▓рддреЗ рд╣реИрдВ:

.a {
  color: green;
}
#thing {
  .a() {
    color: black;
   }
}

.b:extend(#thing .a) {} // since we do ignore parens on mixin call and have ...
// no plans changing this (?), it should probably create .b {color: black} 

.b:extend(.a) {}  // there's only one .a in this scope so it's -> .b {color: green}

.b:extend(.a()) {}  // same as above -> .b {color: green}

рджреВрд╕рд░реА рдУрд░, "рд╡реИрдХрд▓реНрдкрд┐рдХ рдорд╛рддрд╛-рдкрд┐рддрд╛" рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдХрд╛рдлреА рдорд╛рдореВрд▓реА рдмрд╛рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╕рдЦреНрдд рдмрдирд╛рдирд╛ рднреА рдареАрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ extend рдЕрдВрджрд░ рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рдорд┐рд╢реНрд░рдг рдХреЗ рд▓рд┐рдП рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдЗрд╕ рдкрд░ рдХреЛрдИ рджрдмрд╛рд╡ рдирд╣реАрдВ рд╣реИ extend рд╕рд╛рджреЗ рдорд┐рдХреНрд╕рд┐рди рдХреЙрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡реИрд╕реЗ рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реЛрдЧрд╛)ред

рдХреНрдпрд╛ рд╣рдо рд╕рдорд╛рди рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ?

рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рд╣рд╛рдБ, рдЕрдиреНрдпрдерд╛ рдпрд╣ рдкреВрд░реА рдЪреАрдЬрд╝ рдХреЛ рдмреЗрдХрд╛рд░ рдХрд░ рджреЗрдЧрд╛ рдЬреИрд╕реЗ:

.b:extend(.a()) {}
.c:extend(.a()) {}

рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:

.b, .c {color: green}

рд╣рдореНрдо, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рд▓рдп рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдХрдард┐рди рдХрд╛рдо рд╣реЛрдЧрд╛ред


рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдЧреБрдВрдЬрд╛рдЗрд╢ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ # 1730 рдореЗрдВ рдмрдврд╝реА рд╣реИ, рдорд┐рдХреНрд╕рд┐рди 'рд░рд┐рд╢реНрддреЗрджрд╛рд░' рд╕реНрдХреЛрдк рдкрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ 'рдкреВрд░реНрдг' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рджреЛрдиреЛрдВ рдХреЛ рдорд┐рд▓рд╛рддреЗ рд╕рдордп рд╣рдореЗрдВ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдВрдШрд░реНрд╖ рдорд┐рд▓рддрд╛ рд╣реИ:

.div {color: green}

body {
   .div {color: red}

   p-a       {.div()}    // -> body p-a {color: red}
   p-b:extend(.div)   {} // -> body p-b {color: green}
   p-c:extend(.div()) {} // -> ???
}

рдФрд░ рдпрд╣ рдФрд░ рднреА рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдпрджрд┐ рд╣рдо рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВред

рдореИрдВ рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рджреЛ рд╕реЗрдВрдЯ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдкреАрдЫреЗ рд╣рдЯрдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдордп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХрд╣ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ "рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдорд┐рд╢реНрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП" - рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐

.dog() {
    .leg { ... }
    .ears { ... }
    .fur { ... }
}

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдореЗрдВ рдЙрди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд╣рд╛рдВ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдЧрд╛:

.dog() {
    .leg { ... }
    .ears { ... }
    .fur { ... }
    .tail:extend( .leg() ) { 
        .toes { display:none; } 
    }
}

рди рдХреЗрд╡рд▓ рдпрд╣ рдПрдХ рдлреНрд░рд┐рдВрдЬ рдХреЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдЖрдИрдПрдордУ рд╣реИ, рдмрд▓реНрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЕрдкрдиреА рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:

.dog() {
    .leg, .tail { ... }
    .ears { ... }
    .fur { ... }
    .tail .toes { display:none; }
}

рдорд┐рдХреНрд╕рд┐рди рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 99.8% рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЕрдкрдиреЗ рд╡рд┐рд╢рд╛рд▓ LESS рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЙрди рд╢реИрд▓рд┐рдпреЛрдВ рд╕реЗ рднрд░рд╛ рд╣реБрдЖ рд╣реИ рдЬреЛ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЬрдорд╛ рдХрд┐рдП рд╣реИрдВред рдпрд╣ рд╡рд┐рд╢рд╛рд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЗрд╕ рддрд░рд╣ рдХреА рдЪреАрдЬреЛрдВ рд╕реЗ рднрд░рд╛ рд╣реЛрдЧрд╛:

.clearfix() { ... }
.modal() { ... }
.alert-box() { 
    &:extend( .modal() ); 
    &.message { ... } 
    &.warning { ... } 
    &.error { ... } 
}
.grid-wrap() { ... }
.form-input() { ... }
.form-select() { ... }
.button( <strong i="16">@bgColor</strong>, <strong i="17">@textColor</strong> ) { ... }
[... thousands more like this ...]

рдФрд░ рд╡реЗ рд▓реЗрдЦрди рд╢реИрд▓реА рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рдереЗ:

.page-wrap:extend( .grid-wrap(), .clearfix() ) { ... }
input[type="text"]:extend( .form-input ) { ... }
textarea:extend( .form-input() );

рд╡реЗ рдРрд╕рд╛ рднреА рдХрд░ рд╕рдХрддреЗ рдереЗ, рдпрджрд┐ рд╡реЗ рдЪрд╛рд╣рддреЗ рдереЗ рдФрд░ "рдореЛрдбрд▓" рд╢реИрд▓рд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдЕрдВрддрд┐рдо рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХрд╛ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ:

.inline-error:extend( .alert-box.error )

рд╣рд╛рдБ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @DesignByOnyx рдореЗрдВ рдПрдХ рдмрд╛рдд рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдмрд╛рдж рдореЗрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЪреАрдЬреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдХреБрдЫ рдЧрд▓рдд рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрднреА рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ _just рдЧреИрд░-рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ_ рдорд┐рд╢реНрд░рдг рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдореЗрдВ рд╕рдВрднрд╡рддрдГ рд╕рднреА рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдХреЗ 80 - 9 0% рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗ (рд╕реНрдЯрд╛рдЗрд▓рд╢реАрдЯреНрд╕ рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯ рд╕рдВрд░рдЪрдирд╛ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛)ред рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдПрдХ рдпрд╛ рджреЛ рдкреИрдЪ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЖрдИрдПрдордУред

@DesignByOnyx рдФрд░ @calvinjuarez рд╣рдо рдЗрд╕реЗ рдмрд╛рдж рдореЗрдВ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрддреЗ .. рдЗрд╕реЗ рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рдХреЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рд╣рдо рдХрд┐рд╕реА рд╕рдорд╛рдзрд╛рди рдкрд░ рдХреВрджрддреЗ рд╣реИрдВ рдФрд░ рдмрд╛рдж рдореЗрдВ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред

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

@ рд╕рд╛рдд-рдЪрд░рдг-рдЕрдзрд┐рдХрддрдо рдЙрдкрд░реЛрдХреНрдд рдирд╕ рдореЗрдВ, рдореБрдЭреЗ рдЕрднреА рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рдорд┐рд╢реНрд░рдгреЛрдВ рдХреА рдЕрдирджреЗрдЦреА рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

рд╣рдореНрдо, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рд▓рдп рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдХрдард┐рди рдХрд╛рдо рд╣реЛрдЧрд╛ред

  • рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рд▓рдп рд╣реЛ рд░рд╣рд╛ рд╣реИ? рдореИрдВ рдореМрдЬреВрджрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд╕рдорд╛рди рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдореИрдЪ рдвреВрдВрдврддрд╛ рд╣реИ рдФрд░ рдЙрд╕ рдкрд░ рдЬреБрдбрд╝ рдЬрд╛рддрд╛ рд╣реИ .. рдЗрд╕рдХреЗ genCSS рдореЗрдВ рдорд╛рдорд▓рд╛

рдореБрдЭреЗ рдпрд╣ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @ рд╕рд╛рдд-рдЪрд░рдг-рдЕрдзрд┐рдХрддрдо рдХрд╛ рджреВрд╕рд░рд╛ рдЙрджрд╛рд╣рд░рдг рд╕реНрдХреЛрдк рдкрд░ рдХрд┐рд╕реА рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рдХреА рдХрд╛рдлреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ - рдЖрдкрдХреЛ рдмрд╕ рдПрдХ рд╣реА рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдорд┐рд╢реНрд░рд┐рдд рдФрд░ рдЦрд╛рд▓реА рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рдорд┐рд╢реНрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

@lukeapage : +1: рд╕рдЪ рд╣реИ, рдореИрдВ рдЗрд╕реЗ рдЦреЛрдж рд╕рдХрддрд╛ рд╣реВрдВред рдмрдврд╝рд┐рдпрд╛ рдХреЙрд▓ред

рджрд░рдЕрд╕рд▓, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @ рд╕реЗрд╡рди-рдлреЗрдЬ-рдореИрдХреНрд╕ рдиреЗ рдЗрд╕реЗ рд╕рд╣реА рдкрд╛рдпрд╛ рд╣реИред рддреЛ: +1: рд╡рд╣рд╛рдВ рднреАред

@lukeapage - рдореИрдВ "рдПрдХ рддрд░рд╣ рд╕реЗ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп" рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рд╡рдХрд╛рд▓рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛, рдмрд▓реНрдХрд┐ рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЬреЛ (рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рдХрд╣рд╛ рдерд╛) рдлреНрд░рд┐рдВрдЬ рдорд╛рдорд▓реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рддрдереНрдп рдХреА рдмрд╛рдд рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА "рд╕реНрдерд╛рдиреАрдп" рджрд╛рдпрд░реЗ рдХреА рдХреНрд╖рдорддрд╛ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рдЪреБрдХреЗ рд╣реИрдВ рдФрд░ "рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рджреЗрд░ рд╣реЛ рдЪреБрдХреА" рдЪрд░рдг рдЖрдИрдПрдордУ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ :extend рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

.block { color: green; }

.component {
  .block { color: red; }    
  div:extend( .block ) {};
}

/*
.block,
.component div {
  color: green;
}
.component .block {
  color: red;
}
*/

рдореБрдЭреЗ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЛ рдЙрдкрд░реЛрдХреНрдд рд╕реЗ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП - рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдЕрдВрддрд┐рдо рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдХреЛрдИ .block рд╡рд░реНрдЧ рдирд╣реАрдВ рд╣реИ:

.block() { color: green; }

.component {
  .block() { color: red; }  
  div:extend( .block() ) { };
}

/*
.component div {
  color: green;
}
*/

рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВред, рд╣рдорд╛рд░реЗ рдирд╛рдордХрд░рдг рд╕рдореНрдореЗрд▓рдиреЛрдВ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛ рдмрд╣ рд░рд╣рд╛ рд╣реИ :) рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рд▓рд┐рдП "рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рдорд┐рдХреНрд╕рд┐рдиреНрд╕" рдХрд╛ рдЕрд░реНрде рд╣реИ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рд╕рд╛рде рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЛрдИ рднреА рдорд┐рд╢реНрд░рдг, рдЬрд┐рд╕рдореЗрдВ 0 рдкреИрд░рд╛рдореАрдЯрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ (рдпрд╛рдиреА .mixin() {} рдПрдХ "рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ" рд╣реИ)ред рдФрд░ "рдЧреИрд░-рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ" рдорд┐рд╢реНрд░рдг рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЪрдпрдирдХрд░реНрддрд╛ рд╣реИ (рдЕрд░реНрдерд╛рдд .mixin {} )ред рдЕрдм рддрдХ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдмрд╣рд╛рд╡ рдиреЗ рдХреЛрдИ рдЧрд▓рддрдлрд╣рдореА рдкреИрджрд╛ рдирд╣реАрдВ рдХреА (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдКрдкрд░ рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдпрд╣ рд╕рдВрджрд░реНрдн рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдерд╛ рдХрд┐ .mixin() {} рдХреЛ "рдЧреИрд░-рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ" рдорд┐рд╢реНрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛), рд▓реЗрдХрд┐рди ...
рдпрд╛рдж рди рдХрд░реЗрдВ рдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЪрдпрдирдХрд░реНрддрд╛ рдХреЛ "рдорд┐рдХреНрд╕рд┐рди" рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдирд╛рдорд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЬреИрд╕реЗ рд╣реА рдЗрд╕реЗ рдорд┐рд╢реНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдФрд░ рдпрд╣ рдбрд┐рдЬрд╝рд╛рдЗрди рджреНрд╡рд╛рд░рд╛ "рдЧреИрд░-рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ" рдорд┐рд╢реНрд░рдг рднреА рд╣реИред рддреЛ .mixin() {} рдХреЛ "рдЧреИрд░-рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ" рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╕реНрдкрд╖реНрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдЕрдВрддрд░ рдЙрдкрд╕реНрдерд┐рддрд┐ рдпрд╛ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛрд╖реНрдардХ рдХреА рдХрдореА рдореЗрдВ рд╣реИ рдФрд░ рддрд░реНрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдирд╣реАрдВ)ред
рдареАрдХ рд╣реИ, рдпрд╣ рдореЗрд░рд╛ рд╕рд╛рдорд╛рдиреНрдп рдмреВ-рдмреВ-рдмреВ рдерд╛ред :)

@lukeapage

рдореБрдЭреЗ рдЕрднреА рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

рдпрд╛рдиреА рдЧреИрд░-рд╢реВрдиреНрдп рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд╛рд▓реЗ рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ? рдЖрдИ 'рдо рдУрдХреЗ рд╡рд┐рдж рджреИрдЯред рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдПрдХ рдПрдХреАрдХреГрдд рддрд░реАрдХреЗ рд╕реЗ рд╢реВрдиреНрдп рдФрд░ рдЧреИрд░-рд╢реВрдиреНрдп рдкреИрд░рд╛рдореАрдЯрд░ рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЛ рд╕реАрдорд┐рдд рдХрд┐рдП рдмрд┐рдирд╛, рддрд╛рдХрд┐ рдпрд╣ рд╢реЛ-рд╕реНрдЯреЙрдкрд░ рди рд╣реЛ рдЬрдм/рдмрд╛рдж рдореЗрдВ рдмрд╛рдж рдореЗрдВ рдХреВрджреЗрдВ)ред

рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рд▓рдп рд╣реЛ рд░рд╣рд╛ рд╣реИ? рдореИрдВ рдореМрдЬреВрджрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд╕рдорд╛рди рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдореИрдЪ рдвреВрдВрдврддрд╛ рд╣реИ рдФрд░ рдЙрд╕ рдкрд░ рдЬреЛрдбрд╝рддрд╛ рд╣реИ ..

рдареАрдХ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд╡рд┐рд▓рдп рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд╡рд┐рдд рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ред рдЙрджрд╛рд╣рд░рдг:

.b:extend(.a(1, 2, 3)) {}
.c:extend(.a(1, 2, 3)) {}

рджреВрд╕рд░реА рддрд░рдл рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рд╢реВрдиреНрдп-рдкреИрд░рд╛рдореАрдЯрд░ рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рднреА рдЫрд┐рдкреЗ рд╣реБрдП рдЖрд╢реНрдЪрд░реНрдп рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

.a {color: red}
.a {width: 2px}

.b:extend(.a) {}   // creates two `.b` blocks (it is expected since there're two `.a` blocks anyway)

.c {.a}            // creates one `.c` block (OK, this is just how mixins work)

.d() {color: blue}
.d() {width: 10px}

.e {.d()}          // creates one `.e` block (OK, this is just how mixins work)

.f:extend(.d()) {} // tada! another room for complains if this creates two `.f` blocks :)

рдЦреИрд░, рд╢рд╛рдпрдж рдпрд╣ рдмрд╣реБрдд рдЧрд╣рд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдФрд░ рдЗрд╕ рд╕рдордп рдЗрд╕рдХреА рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╛рдореВрд▓реА)ред

.f:extend(.d()) {} // tada! another room for complains if this creates two .f blocks :)

рдЗрд╕ рд╕реЛрдЪ рдХреЗ рд╕рд╛рде рдХрд┐ "рдЪреВрдВрдХрд┐, рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, .d() рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рд╣реИ, рдЗрд╕реЗ рджреЛ .f рдмреНрд▓реЙрдХ рдирд╣реАрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП"?

рд╣рд╛рдБ, рдореИрдВ рдЖрдкрдХреА рдмрд╛рдд рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдБ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдПрдХ рдорд┐рд╢реНрд░рдг рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдЧрд╛:

.f {
  color: #0000ff;
  width: 10px;
}

рдЖрдИрдПрдордПрдЪрдУ рдЕрдЧрд░ рдЗрд╕реЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рддреЛ рд╢рд╛рдпрдж рдЗрд╕реЗ рд╕рдордЭрд╛рдПрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдкреНрд░рддрд┐ рд╢рд┐рдХрд╛рдпрдд рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП _not_ рдХреБрдЫ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддрд╛ред рдмреЗрд╢рдХ, рдпрд╣ рд╕рд┐рд░реНрдл рдореЗрд░рд╛ 2c рд╣реИред рдФрд░ рдпрджрд┐ рдЗрд╕реЗ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк - рд╕реБрд╡рд┐рдзрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рдордп - "рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рд╕реЗ рд╕реАрдПрд╕рдПрд╕ рдмреНрд▓реЙрдХ рд╡рд┐рд▓рдп" рдХреЗ рд▓рд┐рдП рдПрдХ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдз рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд╕ рд╢рд┐рдХрд╛рдпрддреЛрдВ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ...?

рд▓реЗрдХрд┐рди рдореИрдВ рдкреНрд░рддрд┐ рд╢рд┐рдХрд╛рдпрдд рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддрд╛ред

рдореИрдВ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣рдордд рд╣реВрдВред рдореИрдВ рдмрд╕ рдХрд┐рд╕реА рднреА рдЖрд╢реНрдЪрд░реНрдп рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдЖрдЧреЗ "рдмрджрд▓рдиреЗ рдореЗрдВ рдмрд╣реБрдд рджреЗрд░ рд╣реЛ рдЪреБрдХреА" рдореЗрдВ рд╕реЗ рдПрдХ рдмрди рд╕рдХрддрд╛ рд╣реИред

:+1: рд╣рд╛рдБ, рдореБрдЭреЗ рдкрд╕рдВрдж рд╣реИ рдХрд┐ рдЖрдк рдХреИрд╕рд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ!

рдореБрдЭреЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рдЪрд░реНрдЪрд╛ рдЕрднреА рднреА рдЪрд▓ рд░рд╣реА рд╣реИред рдореИрдВ рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЗ рдХреБрдЫ рдмрд┐рдВрджреБрдУрдВ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рддрд╛ рд╣реВрдВред рдкрд╣рд▓рд╛, рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ рдХреА рдмрд╛рдд рд╣реИ, рдпрд╣ рдмрд░рд╛рдмрд░ рд░рд╣рд╛ рд╣реИред

.mixin {} == .mixin() {}

рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдХрд┐ .mixin { } рдПрдХ рд╡рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рд░реНрд╕рд░ рдореЗрдВ рдЙрдирдХреЗ рд╕рд╛рде рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧ рдореЗрдВ, рд╡реЗ рд╕рдВрдкрддреНрддрд┐/рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗ рдХреЛ рдбрдВрдк рдХрд░ рджреЗрддреЗ рд╣реИрдВред

рдЕрд░реНрде:

.mixin1() {
    color: red;    
}
.mixin2 {
    color: blue;
}
.use1 {
    .mixin1;
    foo:bar;
}
.use2 {
    .mixin2;
    foo:bar;
}

рдЗрд╕ рдХрдо рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рдХрд╛рд░рдг, рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛:

.mixin1() {
    color: red;    
}
.mixin2 {
    color: blue;
}
.use1 {
    &:extend(.mixin1);
    foo:bar;
}
.use2 {
    &:extend(.mixin2);
    foo:bar;
}

рдореЗрд░реЗ рд▓рд┐рдП, рдпрд╣ рдЧреИрд░-рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдЕрдХреНрд╕рд░ рдмрд╛рдд рдХреА рд╣реИ: рдореВрд▓ рдорд┐рдХреНрд╕рд┐рди рдЙрдкрдпреЛрдЧ рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдбреНрд░реЙрдк-рдЗрди рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВред

рдЖрдо рдЖрджрдореА рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╢рд╛рдпрдж рд╕рд╣рдЬ рд░реВрдк рд╕реЗ рд╕рдорд╛рди рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ .mixin1 рдХреЛ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЪрд╛рд╣реЗ рд╡рд╣ рдХреЛрд╖реНрдардХ рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реЛ рдпрд╛ рдирд╣реАрдВ:

.use1 {
    &:extend(.mixin1);
    foo:bar;
}
.use1 {
    &:extend(.mixin1());
    foo:bar;
}

рддреЛ, рдореИрдВ рдЗрд╕рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реВрдВ:

.mixin1() {
    color: red;    
}
.use1 {
    &:extend(.mixin1());
    foo:bar;
}
.use2 {
    &:extend(.mixin1());
    bar:foo;
}

... рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП ...

.use1, .use2 {
    color: red;    
}
.use1 {
    foo:bar;
}
.use2 {
    bar:foo;
}

рдпрджрд┐ рдорд┐рдХреНрд╕рд┐рди рдХреЛ рджреЛ рдмрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рджреЛ рдмрд╛рд░ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдЬреИрд╕реЗ рдХрд┐ рдЗрд╕рдХреА рдмрд╣рди, рд╡рд░реНрдЧ рдЪрдпрдирдХрд░реНрддрд╛ред

.mixin1() {
  color: red;
}
.mixin1() {
  width: 30px;
}
.use1 {
  &:extend(.mixin1);
  foo: bar;
}
.use2 {
  &:extend(.mixin1);
}
//output

.use1, .use2 {
  color: red;
}
.use1, .use2 { 
  width: 30px;
}
.use1 {
  foo: bar;
}

рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЕрдм рд╡рд┐рд╕реНрддрд╛рд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдорд┐рд╢реНрд░рд┐рдд рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдкрд░ рдХреЛрд╖реНрдардХ рдХреЛ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐, рдорд┐рд╢реНрд░рдг рдирд╛рдо рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдореМрдЬреВрджрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде (рдореЗрд░рд╛ 90% рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛), рд╡рд╣реА рдмрд╛рдд, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рд╡реЗ рдЗрдирдкреБрдЯ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднреЗрджрд┐рдд рд╣реИрдВ:

.col(@width) {
  width: @width;
  display: table-cell;
}

.col1:extend(.col(10%)) { }
.col2:extend(.col(10%)) { }
.col3:extend(.col(80%)) { }

//output 

.col1, .col2 {
  width: 10%;
  display: table-cell;
}
.col3 {
  width: 80%;
  display: table-cell;
}

рдореЗрд░реЗ рд▓рд┐рдП, рдорд┐рд╢реНрд░рдгреЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдкреИрд░рд╛рдореАрдЯрд░ рдкрд░ рд╕рдореВрд╣ рдмрдирд╛рдирд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдорд┐рд╢реНрд░рдг рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдмрд╣реБрдд рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЖрдЙрдЯрдкреБрдЯ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмрд┐рдирд╛ рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд╛рд▓реЗ рдорд┐рдХреНрд╕рд┐рди рдХреЗ рд▓рд┐рдП рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЙрддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЬ рдореМрдЬреВрджрд╛ рдХрдо рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдЗрд╕реЗ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЬреЛрдбрд╝ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

: +1 рдзрдиреНрдпрд╡рд╛рдж @ рдореИрдереНрдпреВ-рдбреАрди рд╡реНрдпрд╛рдкрдХ рдмреНрд░реЗрдХрдбрд╛рдЙрди рдХреЗ рд▓рд┐рдП - рдореИрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд╡рд░ рдХреА рдЧрдИ рд╣рд░ рдЪреАрдЬ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВред рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдкрд░ рдЕрдкрдиреА рд░рд╛рдп рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╣рд╛рд▓ рдХреА рдЪрд░реНрдЪрд╛ рдХреЗ рд╡рд┐рд╖рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ:

.mixin() { color: red; }

.component {
    .mixin() { color: blue; }

    > li:extend( .mixin() ) { ... }
}

рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ LESS рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░реЗ рдореЗрдВ рдХреЗрд╡рд▓ рдорд┐рд╢реНрд░рд┐рдд рд╣реА рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ - рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд▓рд╛рд▓ рд╢реИрд▓рд┐рдпреЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реЛрдЧрд╛ред рдореИрдВ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рд╛рде рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдареАрдХ рд╣реВрдВ, рдФрд░ рдЬрдм рдХреЛрдИ рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд░рдЦрддрд╛ рд╣реИ рдФрд░ рдиреАрд▓реА рд╢реИрд▓рд┐рдпреЛрдВ рдХреЗ рдкреНрд░рдмрд▓ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ "рд╡реИрд╢реНрд╡рд┐рдХ" рд╡реНрдпрд╡рд╣рд╛рд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдПрдХ-рд▓рд╛рдЗрдирд░ рд╣реИред

// this is ".mixin()", which is being extended
.mixin() { color: red; }

.component {
    // this is ".component .mixin()", which is not. 
    .mixin() { color: blue; }

    > li:extend( .mixin() ) { ... }
}

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ "рд╡реИрд╢реНрд╡рд┐рдХ" рд╡реНрдпрд╡рд╣рд╛рд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдПрдХ-рд▓рд╛рдЗрдирд░ рд╣реИред

рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣рдордд рд╣реВрдБред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдПрдХ рдЧреНрд░реЗ рдХреНрд╖реЗрддреНрд░ рдкреЗрд╢ рдХрд░рдирд╛ рдПрдХ рднрдпрд╛рдирдХ рд╡рд┐рдЪрд╛рд░ рд╣реИред

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

(рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдФрд░ рдЕрдзрд┐рдХ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХрд╣ рд╕рдХрддрд╛ рдерд╛: "+1 рд╕реЗ @jonschlinkert рдХреА рдЯрд┐рдкреНрдкрдгреА"ред ;-)

рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдХреНрдпрд╛ рдХреЛрдИ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░ рджреЗрдЧрд╛? рдХреГрдкрдпрд╛ @ рдореИрдереНрдпреВ-рдбреАрди рдХреЗ рдЗрд╕ рд╡реНрдпрд╛рдкрдХ рдЕрд╡рд▓реЛрдХрди рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдФрд░ рдкреЗрд╢ рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдХрд╡рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЫреБрдЯреНрдЯрд┐рдпрд╛рдВ рдЖрдирдВрджрджрд╛рдпрдХ рд╣реЛрдВред рдХреНрд░рд┐рд╕рдорд╕ рдХреА рдмрдзрд╛рдИред рдкреНрд░рд╕рдиреНрдирддрд╛ рдХреЗ рддреНрдпреЛрд╣рд╛рд░!

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрдиред рдореИрдВ @ рдореИрдереНрдпреВ-рдбреАрди рдФрд░ рд╣рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЯрд┐рдкреНрдкрдгреА рд╕реЗ рд╕рд╣рдордд рд╣реВрдВред :+1:

рдореИрдВ рднреА @ рдореИрдереНрдпреВ-рдбреАрди рд╕реЗ рд╕рд╣рдордд рд╣реВрдВред рд╡рд╣ рдПрдХ рдкреНрд░рдлреБрд▓реНрд▓рд┐рдд рд╕рд╛рдереА рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдореИрдВ рдЙрд╕рдХрд╛ рд╣рд╛рде рдорд┐рд▓рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

(-рдЕрдирд╛рдо)

@ рдореИрдереНрдпреВ-рдбреАрди рд╢рдмреНрджред :+1:

рд╣рдо рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдХреЗ рдЧреНрд░рд┐рдб рд╕рд┐рд╕реНрдЯрдо рдХреЛрдб рдХреЛ рдЗрддрдирд╛ рдЕрдзрд┐рдХ рд╕реНрд╡рдЪреНрдЫ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ!

: +1: рд╕рд╣рдордд @cvrebert! рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛!

рдмрд╕ рдлрд┐рд░ рд╕реЗ рдЖрдирд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдо рд╕рд╣рдорддрд┐ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣реИ рдирд╛?

рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдХреБрдЫ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝рдиреЗ рд╡рд╛рд▓реА рднреВрд▓рднреБрд▓реИрдпрд╛ рдХреА рддрд░рд╣ рд╣реИред рдХреНрдпрд╛ рдЗрд╕ рдкрд░ рдХрднреА рдЕрдорд▓ рд╣реБрдЖ? рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ рдХреЛрдИ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

@ josh18 рдирд╣реАрдВ, рдЬрдм рдПрдХ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдз рдЕрднреА рднреА рдЦреБрд▓рд╛ рд╣реИ рддреЛ рдЗрд╕рдХрд╛ рдЖрдорддреМрд░ рдкрд░ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдареАрдХ рд╣реИ рдзрдиреНрдпрд╡рд╛рдж, рд╕реЛрдЪрд╛ рдХрд┐ рдЕрдЧрд░ рдореИрдВ рдХреБрдЫ рдпрд╛рдж рдХрд░ рд░рд╣рд╛ рдерд╛ рддреЛ рдореИрдВ рдмрд╕ рджреЛрдмрд╛рд░рд╛ рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛ред

рдореИрдВ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рд╡рд┐рдХреА рдореЗрдВ рдЦреБрд▓реА/рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рд╕рдордп рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред

рдореИрдВ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рд╡рд┐рдХреА рдореЗрдВ рдЦреБрд▓реА/рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рд╕рдордп рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред

@ рдореИрдереНрдпреВ-рдбреАрди +1

рд╣рд╛рдп рджреЛрд╕реНрддреЛрдВ! рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХреБрдЫ рд╣рдж рддрдХ SASS рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░реНрд╕ рдХреЗ рд╕рдорд╛рди рд╣реЛрдЧреАред рдмрд╕ рдпрд╣ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдЗрд╕реЗ рдХрдм рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?

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

рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЗрд╕реЗ рд▓рд╛рдЧреВ рдФрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реИрдВред :)

рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП +1ред рдпрд╣ CSS size рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдмреЗрд╣рдж рдорджрджрдЧрд╛рд░ рд╣реИред

рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП +1ред

рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП +1ред

+1 рд░реБрдЪрд┐ рдХреЗ рд╕рд╛рде рджреЗрдЦ рд░рд╣рд╛ рд╣реИ, рдзрдиреНрдпрд╡рд╛рдж!

:+1:

рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдирд╛рдП рд╣реБрдП рджреЛ рд╕рд╛рд▓ рдмреАрдд рдЪреБрдХреЗ рд╣реИрдВред рдирд╡рдВрдмрд░ 2014 рд╕реЗ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЯреИрдЧред рдореАрд▓ рдХрд╛ рдкрддреНрдерд░ 1.6.0 рдпрд╛ 2.0.0 рд╣реИред рдорд╣рд╛рдиред рдХрдо рдЕрдм 2.5 рд╣реИред

@Grawl

рдЖрдкрдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдкреАрдЖрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ?

@ рд╕рд╛рдд-рдЪрд░рдг-рдЕрдзрд┐рдХрддрдо рдореИрдВрдиреЗ рдЬреЛ рд╕реЛрдЪрд╛ рдерд╛ рд╡рд╣ рдХрд╛рдлреА рд╣реИред рдЕрдзрд┐рдХрд╛рд░ рдХрд╛ рдРрд╕рд╛ рдкреНрд░рджрд░реНрд╢рдиред ;)

@ рд╕рд╛рдд-рдЪрд░рдг-рдЕрдзрд┐рдХрддрдо рдпреЛрдЧреНрдп рдирд╣реАрдВ, рдореИрдВ рд╕рд┐рд░реНрдл рдлреНрд░рдВрдЯрдПрдВрдб/рдбрд┐рдЬрд╛рдЗрдирд░ рд╣реВрдВред
@Celc рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦрд░рд╛рдм рд▓рдЧ рд░рд╣рд╛ рд╣реИ

рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдирд╛рдП рд╣реБрдП рджреЛ рд╕рд╛рд▓ рдмреАрдд рдЪреБрдХреЗ рд╣реИрдВред

рд╣рд╛рдБ, рд╡реИрд╕реЗ рднреА рдореИрдВ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ рдХреНрдпрд╛ рднреБрдЧрддрд╛рди рдХрд░ рд░рд╣рд╛ рд╣реВрдБ? ;-)

рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рднрд╛рдЧреАрджрд╛рд░реА рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рдЕрдиреБрд░реЛрдз рдХреЛ рдмрд╣реБрдд рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ!

рдЬрдЯрд┐рд▓ рдФрд░ рдкреНрд░рднрд╛рд╡реА рдврд╛рдВрдЪреЗ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрддреНрдпрдВрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ

3 рд╕рд╛рд▓ рдФрд░ рдЧрд┐рдирддреАред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, Sass v4 рдЖ рд░рд╣рд╛ рд╣реИ ( sass-* рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд╕рд╛рде) рдФрд░ рдореИрдВ рдХрдо рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд╕рдХрддрд╛ рд╣реВрдВред

@stevenvachon рд╣рдо Sass рдХреЗ рдЦрд┐рд▓рд╛рдл рдХреЛрдИ рд╢рд┐рдХрд╛рдпрдд рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВред рдмреЗрд╢рдХ рд╡реЗ рдПрдХ рдорд╛рдпрдиреЗ рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рджрд░реНрд╢рди рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмреБрд▓рд╛рдХрд░ рд╣рдореЗрдВ рдЪреЛрдЯ рдкрд╣реБрдВрдЪрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдмреЗрдорд╛рдиреА рд╣реИред

рдмреЗрд╢рдХ, рдХрд┐рд╕реА рд╕реЗ рднреА рдкреБрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред рд╣рдо рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдореЗрдВ рд╕рд╣рд░реНрд╖ рд╡рд┐рд▓рдп рдХрд░реЗрдВрдЧреЗред

рдореИрдВ рдХрд┐рд╕реА рдХреЛ рдЪреЛрдЯ рдкрд╣реБрдВрдЪрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢рд╛рдпрдж рдЗрд╕реЗ рд░реЛрдХрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡реНрдпрдХреНрдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдХрд┐ рдХреЛрдИ рдХреИрд╕рд╛ рдорд╣рд╕реВрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╡реЗ рдЬреЛ рдирдИ рджрд┐рд╢рд╛рдПрдБ рд▓реЗ рд░рд╣реЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рдЬрд╛рдирдирд╛ рдмреЗрд╣рддрд░ рд╣реИ; рд╕рдмрдХреЗ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмреВрдЯрд╕реНрдЯреНрд░реИрдк v4 рдХрдо.рдЬреЗрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдмрдбрд╝рд╛ рд╕реЗрдВрдз рд▓рдЧрд╛рдПрдЧрд╛ред рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреА рд░рд╛рдЬрдиреАрддрд┐ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@stevenvachon рдЗрддрдирд╛ :рд╡рд┐рд╕реНрддрд╛рд░ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдо рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдореЗрд░реА рд╕рднреА рдЬрд░реВрд░рддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдпрд╣ рднреА рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдЕрднреА рднреА рдЦреБрд▓рд╛ рдХреНрдпреЛрдВ рд╣реИред

рд╣реЗрдХ, рдореИрдВ рдПрдХ рд░реЗрд▓ рдбреЗрд╡рд▓рдкрд░ рд╣реВрдВ рдФрд░ рдЬрдм рдпрд╣ рд░реВрдмреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реИ рддреЛ рдЧрд▓реНрдк + рдХрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рд╡рд┐рд╖рдп рд╕реЗ рдкрд░реЗ? рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ 3 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреАред

рдореИрдВ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдпрджрд┐ Sass JS рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реЛ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рд╡рд╣ рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЗрд╕рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВред Sass рд╣рдореЗрдВ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░реНрд╕ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдХрдо рд╣рдореЗрдВ рдорд┐рдХреНрд╕рд┐рди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред

рдпрд╛рд░ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдСрдлрдЯреЙрдкрд┐рдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╣реБрдкреНрд░рддреАрдХреНрд╖рд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ! (рднрд▓реЗ рд╣реА рдореИрдВ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░рдгреЛрдВ рд╕реЗ рд╡реИрд╕реЗ рднреА рдХрдо рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛)

рдпрд╣ рд╕рд┐рд░реНрдл рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рднреАрдЦ рдорд╛рдБрдЧрддрд╛ рд╣реИред

рдкреАрдПрд╕ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬреЗрдПрд╕ рдХреЗ рдХреБрдЫ рдЬреНрдЮрд╛рди рдХреЗ рд╕рд╛рде рдбрд┐рдЬрд╛рдЗрдирд░ рд╣реВрдВ, рдЬреНрдпрд╛рджрд╛рддрд░ рдбреЛрдо рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рд╛рдорд╛рди, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбреЗрд╡рд▓рдкрд░ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рдЬреЛ рдХрдо.рдЬреЗрдПрд╕ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗ рд╕рдХрддрд╛ рд╣реИред рд╡реИрд╕реЗ рднреА рджреБрдЦрдж рдХрд╣рд╛рдиреА рд╣реИ)

рдмрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдПрдХ рдЕрддреНрдпрдВрдд рдЗрдЪреНрдЫреБрдХ рд╕рдорд░реНрдердХ)

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реЗрд╡рд╛ рдШреЛрд╖рдгрд╛

рдХрд┐рд╕реА рднреА рд╕рдордп, рдЖрдк рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╡рд┐рд▓рдп рдХреА рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдХрдо.рдЬреЗрдПрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ рд▓реЛрдЧреЛрдВ рдЬреИрд╕реЗ рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдирд┐рдпрдорд┐рдд рдпреЛрдЧрджрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ . рдпрд╣ рдХрд┐рд╕реА рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдирд╣реАрдВ рд╣реИред рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ рдХрд┐ рд╡рд╣ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реИ, рдпрд╛ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рдХрд╛рд▓ рд░рд╣рд╛ рд╣реИред

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

рдЗрдирдореЗрдВ рд╕реЗ рдХрдИ рдХрд╛рд░реНрдп рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреЛ рдЗрди рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдЦрд░реНрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдк рдПрдХ рдбреЗрд╡рд▓рдкрд░ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИ, "рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдордп рдирд╣реАрдВ рд╣реИ," рддреЛ рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдЦреБрд▓рд╛ рдкрдбрд╝рд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рд╕реБрд╡рд┐рдзрд╛ рдкреВрд░реА рд╣реЛ рдЬрд╛рддреА рд╣реИ рддреЛ рдпрд╣ рдЖрдкрдХреЗ рдКрдкрд░ 100% рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдкреВрдЫрдирд╛ рдХрд┐ рдЗрд╕реЗ "рдХрд┐рд╕реА" рджреНрд╡рд╛рд░рд╛ рдХреНрдпреЛрдВ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИред _рдЖрдк рд╡реЛ рд╣реИрдВ рдХреЛрдИред_ рдпрд╣ рд╣реЛрдЧрд╛, рдореИрдВ _рдЧрд╛рд░рдВрдЯреА_ рдпрд╣ рд╣реЛрдЧрд╛, рдЕрдЧрд░ рдФрд░ рдЬрдм рдЖрдк рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗред рдЖрдк рд╡реЗрдм рдкрд░ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдУрдкрди рд╕реЛрд░реНрд╕ рдЯреВрд▓ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк... рд╣рдЬрд╛рд░реЛрдВ рд▓реЛрдЧреЛрдВ рдХреЗ рдЬреАрд╡рди рдореЗрдВ рдмрджрд▓рд╛рд╡ рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ? рд╕реИрдХрдбрд╝реЛрдВ рд╣рдЬрд╝рд╛рд░реЛрдВ? рд▓рд╛рдЦреЛрдВ? рдФрд░ рдПрдХ рд╕рд╛рдЗрдб рдмреЗрдирд┐рдлрд┐рдЯ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреА рдкрд╕рдВрджреАрджрд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдмрд╛рдж рдореЗрдВ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЬрд▓реНрдж рд╣реА рд╣реЛрдВред

рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдпрд╛ рдХреЛрдИ рд╕реБрд╡рд┐рдзрд╛ рд╣реЛ, рддреЛ рдЗрд╕реЗ рдХрд░реЗрдВ ред рд╣рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ рдХрд┐ рдЖрдк рд╣рдорд╛рд░реЗ рд╕рд╛рде рд╣реЛрдВред рд╣рдо рдЖрдкрдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ! рдпрд╣ рд╕рдореБрджрд╛рдп рдЬрд┐рддрдирд╛ рдмрдбрд╝рд╛ рд╣реЛрдЧрд╛ рдЙрддрдирд╛ рд╣реА рдХрдо рдмреЗрд╣рддрд░ рдФрд░ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд░рд╣реЗрдЧрд╛!

рдФрд░, рд╕реБрдиреЛ, рдореИрдВ рдЗрд╕ рдмрд╛рдд рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдХрднреА-рдХрднреА рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рд╕рдордп рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рднреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕реБрд╡рд┐рдзрд╛ рд╣реЛрдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд╣реЛрддреА рд╣реИред рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВред рдореИрдВ рдмрд╕ рдЗрддрдирд╛ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрджрд┐ рдЖрдк рдЙрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рд╣реИрдВ, рддреЛ рдЖрдк рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдиреБрднреВрддрд┐ рдФрд░ рдХреГрддрдЬреНрдЮрддрд╛ рдХрд╛ рд▓рдХреНрд╖реНрдп рд░рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕рдордп (рдФрд░ рдХрднреА-рдХрднреА рдкреИрд╕рд╛) рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдХрдо рд╕рдореБрджрд╛рдп рдХреЗ рдЕрдиреНрдп рд▓реЛрдЧ рдЕрдкрдиреА рдкреВрд░реА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕рдХреНрд╖рдо рд╣реИрдВред

рднрд╡рджреАрдп,
рдореИрдереНрдпреВ рдбреАрди, рд▓реЗрд╕.рдЬреЗрдПрд╕ рдХреЛрд░ рдЯреАрдо рдХреЗ рд╕рджрд╕реНрдп

рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рдЙрдирдХреЗ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕реБрдирддрд╛ рд╣реВрдВред рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдореЗрд░реЗ рдкрд╛рд╕ рдХрдо.рдЬреЗрдПрд╕ рдХреЛрд░ рдореЗрдВ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИред

sass рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ (рдпрд╛ "рд╕рд╛рдЗрд▓реЗрдВрдЯ рдХреНрд▓рд╛рд╕") рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдЖрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдкрдврд╝реЗрдВред рдпрд╣ рдЖрдкрдХреЛ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛рдПрдЧрд╛ (# 1851 рдХреЗ рдХрд╛рд░рдг рдФрд░ рдРрд╕реА рдХрдХреНрд╖рд╛рдПрдВ "рд╕рдВрджрд░реНрднрд┐рдд" рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ), рд▓реЗрдХрд┐рди рдпрд╣ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

yggi49 picture yggi49  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

pknepper picture pknepper  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

seven-phases-max picture seven-phases-max  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

MarkSG93 picture MarkSG93  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

chricken picture chricken  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ