Less.js: :рдкрд╣рд▓рд╛ рдмрдЪреНрдЪрд╛ рдЫрджреНрдо рд╡рд░реНрдЧ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ

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

рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ:

header {
    &:extend(.menu all);
}

рдХрдо рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдирд┐рдореНрди рд╕рдВрд░рдЪрдирд╛ рд╣реИ:

.menu {// CODE}
.menu:after {// CODE}
.menu:first-child {// CODE}
.menu:last-child {// CODE}

рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, .menu рдФрд░ . рдХреЗ рд▓рд┐рдП css. рдореЗрдиреВ: рджрд┐рдЦрд╛рдиреЗ рдХреЗ рдмрд╛рджред рд▓реЗрдХрд┐рди рдХреЗ рд▓рд┐рдП рдХреЛрдб рдирд╣реАрдВред рдореЗрдиреВ: рдкрд╣рд▓рд╛ рдмрдЪреНрдЪрд╛ рдпрд╛ . рдореЗрдиреВ: рдЕрдВрддрд┐рдо-рдмрдЪреНрдЪрд╛ред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдореИрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реВрдВред рдореЗрдиреВ: рдкрд╣рд▓рд╛ рдмрдЪреНрдЪрд╛ рдпрд╛ . рдореЗрдиреВ: рд▓рд╛рд╕реНрдЯ-рдЪрд╛рдЗрд▓реНрдб рдЯреВ . рдореЗрдиреВ: рдкрд╣рд▓рд╛ рдФрд░ . рдореЗрдиреВ: рдЕрдВрдд рдореЗрдВ рдлрд┐рд░ рд╕реАрдПрд╕рдПрд╕ рдХреЛрдб рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд╛рдЗрдлрд╝рди рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рд╡рд┐рдЪрд╛рд░?

рдзрдиреНрдпрд╡рд╛рджред

consider closing needs info

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

рдореИрдВ рдЖрдкрдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛: рдбреЗрдореЛ ред
SO рдкрд░ рдЖрдкрдХреЗ рдкреНрд░рд╢реНрди рд╕реЗ рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдБ рдХрд┐ рдЖрдк gulp-less рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕реА рднреА рдХрдо рд╕рдВрд╕реНрдХрд░рдг (1.4.x рд╕реЗ рд╢реБрд░реВ) рдХреЛ рдпрд╛рдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдЬрд┐рд╕рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рдмрдЧ рд╣реИ, рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ "рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХрдо рдпрд╛ рдЧрд▓реНрдк-рдХрдо рд╕рдВрд╕реНрдХрд░рдг" рд╕рдорд╕реНрдпрд╛ рдХреА рддрд░рд╣ред рддреЛ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ: рдХреНрдпрд╛ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рдпрд╣ _is_ рд╡рд╣ рд╕реНрдирд┐рдкреЗрдЯ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рд╢рд╛рдпрдж рдпрд╣ рдХреБрдЫ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ?), рдФрд░/рдпрд╛ рдпрд╣ рдХреЛрдИ рдЕрдиреНрдп gulp рдХрд╛рд░реНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╕рдВрднрд╡рддрдГ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░рддрд╛ рд╣реИ?

рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдШреВрдВрдЯ-рдХрд╛рд░реНрдп рд╣реИред рдореИрдВ рдЗрд╕реЗ рдХрд▓ рдпрд╛ рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рджреЗрдЦ рд▓реВрдВрдЧрд╛ред рдзрдиреНрдпрд╡рд╛рджред

рд╢рд╛рдпрдж рдпрд╣ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдХрд╛рд░рдг рдмрдВрдж рд╣реЛрдирд╛ (рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реИрд╕реЗ рднреА рдХреЛрдИ рдХрдо рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИ)ред

@ рд╕рд╛рдд-рдЪрд░рдг-рдЕрдзрд┐рдХрддрдо рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдКрдкрд░ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб , рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рдкреБрди: рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИред

рдХрдо

.col {
  float: left;

  &:last-child {
    margin-right: 0;
  }
  &:first-child {
    margin-left: 0;
  }
}

.generate-columns(<strong i="9">@n</strong>, <strong i="10">@i</strong>: 1) when (<strong i="11">@i</strong> =< @n) {
  .col-@{i}:extend(.col) {
    margin-left: (@i)px;
  }

  .generate-columns(<strong i="12">@n</strong>, (<strong i="13">@i</strong> + 1));
}

.generate-columns(2);

рдЙрддреНрдкрдиреНрди рд╕реАрдПрд╕рдПрд╕

.col,
.col-1,
.col-2 {
  float: left;
}
.col:last-child {
  margin-right: 0;
}
.col:first-child {
  margin-left: 0;
}
.col-1 {
  margin-left: 1 px;
}
.col-2 {
  margin-left: 2 px;
}

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╕реАрдПрд╕рдПрд╕:

.col,
.col-1,
.col-2 {
  float: left;
}
.col:last-child {
  margin-right: 0;
}
.col:first-child {
  margin-left: 0;
}
.col-1 {
  margin-left: 1 px;
}
.col-1:last-child {
  margin-right: 0;
}
.col-1:first-child {
  margin-left: 0;
}
.col-2 {
  margin-left: 2 px;
}
.col-2:last-child {
  margin-right: 0;
}
.col-2:first-child {
  margin-left: 0;
}

рдЫреВрдЯрд╛ рд╣рд┐рд╕реНрд╕рд╛

.col-1:last-child {
  margin-right: 0;
}
.col-1:first-child {
  margin-left: 0;
}
.col-2:last-child {
  margin-right: 0;
}
.col-2:first-child {
  margin-left: 0;
}

@ рдЗрд╡рд╛рди-рдирд┐рдХрд┐рдЯреЛрд╡рд┐рдХ рдирд╣реАрдВ, extend рдФрд░ extend all рдмреАрдЪ рдЕрдВрддрд░ рджреЗрдЦреЗрдВред

@ рд╕рд╛рдд-рдЪрд░рдг-рдЕрдзрд┐рдХрддрдо рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИред :-) рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

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

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

dotnetwise picture dotnetwise  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

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

falkenhawk picture falkenhawk  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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