LESS CSS рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдФрд░ рд░реЗрд▓реНрд╕ рдкрд░ рд░реВрдмреА рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдПрдХреАрдХрд░рдг

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



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

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

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

рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?


рд╕реНрдЯрд╛рдЗрд▓ рд╢реАрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реАрдПрд╕рдПрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдПрдХ рдХрдо рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдпрд╛рдиреА рдЕрд▓рдЧ рд╕реЗ "style.css" рдЫреЛрдбрд╝реЗрдВ рдФрд░ "style.less" рдЦреЛрд▓реЗрдВ, рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЖрдкрдХреА рд╕реАрдПрд╕рдПрд╕-рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рдорд╛рди рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдкрдХреЛ HTML рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдХреБрдЫ рднреА рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╡реЗрдм рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдЯ "styl.css" рдкрд░ рдЖрдЧрдВрддреБрдХ рдХреЛ рджреЗ рджреЗрдЧрд╛ - LESS рдЗрд╕реЗ "рд╕реНрдЯрд╛рдЗрд▓.рд▓реЗрд╕" рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХреЗ рд╕рд╛рде рдмрджрд▓ рджреЗрдЧрд╛ - рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рднреА рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдорд╛рдирдХ рд╕реАрдПрд╕рдПрд╕ рд╕реНрдЯрд╛рдЗрд▓ рд╢реАрдЯ рд▓рд┐рдЦреА рдЬрд╛рдПрдЧреАред

рд░реЗрд▓ 3 рдкрд░ рд░реВрдмреА рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрдирд╛




рдЗрд╕ рддрд░рд╣ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП LESS рд╕рдВрдХрд▓рдХ рд░реВрдмреА , PHP , .NET , OS X рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкрд░ рд░реВрдмреА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред рдЬреЗрдПрд╕ рдореЗрдВ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рднреА рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ ред рд╣рдо рдХреЗрд╡рд▓ рд░реЗрд▓ 3 рдкрд░ рд░реВрдмреА рдХреЗ рддрд╣рдд рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдЕрддреНрдпрдВрдд рд╕рд░рд▓ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдорд╛рдгрд┐рдХ рд░рддреНрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
рдордгрд┐ рдХрдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

рдлрд┐рд░ рд░реЗрд▓ рдкреНрд▓рдЧрдЗрди:
рд░реЗрд▓ рдкреНрд▓рдЧ рдЗрди рд╕реНрдерд╛рдкрд┐рдд git: //github.com/cloudhead/more.git

рдпрджрд┐ рдЖрдкрдХреА рд╕реАрдПрд╕рдПрд╕-рдлрд╛рдЗрд▓реЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлрд╝реЛрд▓реНрдбрд░ "рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ / рд╕реНрдЯрд╛рдЗрд▓рд╢реАрдЯ /" рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЕрдкрдиреЗ рдкрде рдХреЛ "config / environment.rb" рдореЗрдВ рд▓рд┐рдЦреЗрдВ, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рдХрдо :: More.source_path = "рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ / рд╕реАрдПрд╕рдПрд╕"
рдХрдо :: More.destination_path = "css"

рд╡рд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдпрд╣ рд╣реИред

рдЪрд░


рдЪрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЖрдк рд╡рд┐рдХрд╛рд╕ рдХреЛ рдХрд╛рдлреА рд╕рд░рд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░рдВрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ:
@ рдкреНрд░рдХрд╛рд╢-рдкреГрд╖реНрдарднреВрдорд┐-рд░рдВрдЧ: # cfdae1;

# рдореЗрдиреВ a: рд╣реЛрд╡рд░ {color: @ light-background-color; }
# рднреВрдд {рдкреГрд╖реНрдарднреВрдорд┐: @ рдкреНрд░рдХрд╛рд╢-рдкреГрд╖реНрдарднреВрдорд┐-рд░рдВрдЧ; }

рдСрдкрд░реЗрдЯрд░реЛрдВ


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП LESS рдореЗрдВ рдХреЛрдИ рднреА рдЕрдВрдХрдЧрдгрд┐рдд рдЪрд░ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
@ рдЖрдзрд╛рд░-рдорд╛рд░реНрдЬрд┐рди: 25 рдкреАрдПрдХреНрд╕;
# рд╣реЗрдбрд░ {рдорд╛рд░реНрдЬрд┐рди-рдЯреЙрдк: @ рдмреЗрд╕-рдорд╛рд░реНрдЬрд┐рди + 10 рдкреАрдПрдХреНрд╕; }

рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд░рдВрдЧреЛрдВ рдХреЗ рд░рдВрдЧреЛрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ:
@ рдкреНрд░рдХрд╛рд╢-рдкреГрд╖реНрдарднреВрдорд┐-рд░рдВрдЧ: # cfdae1;
@ рдбрд╛рд░реНрдХ-рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб-рдХрд▓рд░: @ рд▓рд╛рдЗрдЯ-рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб-рдХрд▓рд░ - # 333;

рдХрдХреНрд╖рд╛рдПрдВ


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдЧреЛрд▓-рдХреЛрдиреЛрдВ рд╡рд░реНрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЧреЛрд▓ рдХреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрдЧрд╛:
рдШрд┐рд░реЗ рд╣реБрдП рдХреЛрдиреЗ ( рддреНрд░рд┐рдЬреНрдпрд╛ ) {
-рд╡реЗрдмрдХрд┐рдЯ-рдмреЙрд░реНрдбрд░-рд░реЗрдбрд┐рдпрд╕: рддреНрд░рд┐рдЬреНрдпрд╛ ;
-рдореЛрдЬрд╝-рдмреЙрд░реНрдбрд░-рд░реЗрдбрд┐рдпрд╕: рддреНрд░рд┐рдЬреНрдпрд╛ ;
рд╕реАрдорд╛-рддреНрд░рд┐рдЬреНрдпрд╛: рддреНрд░рд┐рдЬреНрдпрд╛ ;
}

рдФрд░ рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рдЪрдпрдирдХрд░реНрддрд╛ рдХреЗ рдЕрдВрджрд░ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
# рд▓реЙрдЧрд┐рди-рдмреЙрдХреНрд╕ {
рдШрд┐рд░рд╛ рд╣реБрдЖ рдХреЛрдиреЛрдВ (5 рдкреАрдПрдХреНрд╕);
}

рд╕рдВрд░рдЪрдирд╛


рдорд╛рдирдХ рдХреЛрдб рдЬреЛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рд╕рд╛рдЗрдЯ рдореЗрдиреВ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:
# рд╕реБрдВрджрд░ {}
# рдХрд┐рдбрд░ # рдирдирд╡ {}
# рдЦреАрд░ # рдирд╛рди рдЙрд▓ {}
# рдЦреАрд░ # рдирд╛рди рдЙрд▓ рд▓реА {}
#header #nav ul li a {}

LESS рдЖрдкрдХреЛ рдЕрдиреНрдп рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдВрджрд░ рдирд┐рдпрдореЛрдВ рдХреЛ рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдЕрдиреБрднрд╛рдЧ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рдФрд░ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
# рдЬрдпрдзрд░ {
#nav {
рдЙрд▓ {
рд▓реА {
{{}
}
}
}
}

рдФрд░ рдпрд╣рд╛рдВ рд╣рдо рдорд╛рдирдХ рд▓рд┐рдВрдХ рд╢реИрд▓рд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
{{
рдФрд░: рд╣реЛрд╡рд░ {}
рд╕рдХреНрд░рд┐рдп: {}
&: {} рдХрд╛ рджреМрд░рд╛ рдХрд┐рдпрд╛
}

рдЫреВ рдордВрддрд░ рд╣реЛ рдЧрдпрд╛


рдЖрдк "рдЖрдпрд╛рдд" рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рджреВрд╕рд░реЛрдВ рдХреЛ рдореБрдЦреНрдп рдХрдо-рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдЖрдпрд╛рдд 'рдЯрд╛рдЗрдкреЛрдЧреНрд░рд╛рдлреА';
рдЖрдпрд╛рдд 'рдкреНрд░рд┐рдВрдЯ';

рдФрд░ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рд╕реНрд▓реИрд╢ рдХреЗ рдмрд╛рдж рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ:
#реЗрдВрдб {}
// рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж
// рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд╡рд┐рд╖рдп рдЖрдкрдХреЗ рд╣рд┐рдд рдореЗрдВ рд╣реЛрдЧрд╛

рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рд╣рдорд╛рд░реА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрдореНрдмреЛ рд╣реИрдВрдбрдмреБрдХ рдХрд╛ рдзрдиреНрдпрд╡рд╛рджред

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


All Articles