Less.js: CSS3 рдХреИрд▓реНрдХ () рдлрд╝рдВрдХреНрд╢рди рдХрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 8 рдЕрдХреНрддреВре░ 2012  ┬╖  51рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: less/less.js

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

рдореЗрд░реЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реАрдПрд╕рдПрд╕ рдХреЛрдб рд╣реИ:

#id1 {
    position: fixed;
    left: 0; top: 0;
    width: 130px;
}
#id2 {
    position: fixed;
    right: 0; top: 0;
    width: calc(100% - 130px);
}

рдореИрдВ рдЗрд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ 130px рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдо рдореЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рд▓реЗрдХрд┐рди рдХреИрд▓реНрдХ рдХреЛ рдХрдо рд╕реЗ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣:

<strong i="11">@id1width</strong>: 130px
#id1 {
    position: fixed;
    left: 0; top: 0;
    width: @id1width;
}
#id2 {
    position: fixed;
    right: 0; top: 0;
    width: calc(100% - @id1width);
}

рдЕрдВрддрд┐рдо рд▓реЗрдХрд┐рди рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЛ width: calc(-30%); рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ width: ~"calc(100% - @id1width)"; рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдпрд╣ @id1width рд╡реНрдпрд╛рдЦреНрдпрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ LESS рдХреЛ рдЕрдкрдиреЗ рдЖрдВрддрд░рд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП CSS3 рджреНрд╡рд╛рд░рд╛ рдЖрд░рдХреНрд╖рд┐рдд рдЪреАрдЬреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП ...

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

рд╡реЗ рд╢рд╛рдпрдж рдбреБрдкреНрд▓реАрдХреЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдВрдж рдереЗ .. рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдХреИрд▓реНрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ .. #146 #122 рдФрд░ #915 рджреЗрдЦреЗрдВ

рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб: width: ~"calc(100% - @{id1width})"; - рдЪрд░ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреБрдВрдШрд░рд╛рд▓реЗ рдХреЛрд╖реНрдардХ рдиреЛрдЯ рдХрд░реЗрдВред

рд╣рдо рдПрдХ рдРрд╕реА рдкреНрд░рдгрд╛рд▓реА рдХреА рдУрд░ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдХреЛрд╖реНрдардХ рдХреЗ рдЕрдВрджрд░ рдХреА рдЪреАрдЬреЛрдВ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

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

рд╡реЗ рд╢рд╛рдпрдж рдбреБрдкреНрд▓реАрдХреЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдВрдж рдереЗ .. рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдХреИрд▓реНрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ .. #146 #122 рдФрд░ #915 рджреЗрдЦреЗрдВ

рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб: width: ~"calc(100% - @{id1width})"; - рдЪрд░ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреБрдВрдШрд░рд╛рд▓реЗ рдХреЛрд╖реНрдардХ рдиреЛрдЯ рдХрд░реЗрдВред

рд╣рдо рдПрдХ рдРрд╕реА рдкреНрд░рдгрд╛рд▓реА рдХреА рдУрд░ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдХреЛрд╖реНрдардХ рдХреЗ рдЕрдВрджрд░ рдХреА рдЪреАрдЬреЛрдВ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

:+1:

<strong i="5">@rows</strong>: 10;

<strong i="6">@row1</strong>: 1 / <strong i="7">@rows</strong> * 100%;

.featured1
{
  top: ~'-webkit-calc(@{row1} + 20px)';
  right: 0;
  bottom: @row5;
  left: @col9;
}

рдХрдо рдХрд╛ рдпрд╣ рдмрд┐рдЯ ' @ row1 ' рдХреЗ рдорд╛рди рдХреЛ 10% рддрдХ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдЧрд╛, рдЬреЛ рдХрд┐ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм рдпрд╣ LESS рдХреЗ рдПрдХ рдПрд╕реНрдХреЗрдкреНрдб рд╕рд┐рдХрдЯреЛрди рдХреЗ рдЕрдВрджрд░ рд╣реЛрддрд╛ рд╣реИ рдФрд░ LESS рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реНрд▓реА рдореЗрдВ рд▓рдкреЗрдЯрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдпрд╣ '%' рдХреЗ рдмрд┐рдирд╛ '10' рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рдореБрдЭреЗ рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдорд┐рд▓рд╛ рд╣реИ рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдЕрднреА рддрдХ рд╡рд┐рдлрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдПрд╕реНрдХреЗрдкреНрдб рдХреЛрдб рдХреЗ рдЕрдВрджрд░ 'row1' рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЗ рдХреНрд▓реЛрдЬрд┐рдВрдЧ рдХрд░реНрд▓реА рдХреЗ рдмрд╛рдж рдПрдХ рдФрд░ '%' рдбрд╛рд▓рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛...

~'-webkit-calc(@{row1}% + 20px)';

рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдЕрдиреНрдп рдЗрдХрд╛рдИ рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╣реИрдХ рд╣реИ рдЬреЛ рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд░ рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред

@jonjohnjohnson рдпрд╣ рд╕рд┐рд░ рдореЗрдВ рддрдп рд╣реИ рдФрд░ 1.3.2 . рдореЗрдВ рд╣реЛрдЧрд╛

рдЗрд╕ рдмрдЧ рдХрд╛ рд╢реЗрд╖ 1.4.0 . рдореЗрдВ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛

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

рдпрд╣рд╛рдБ рд╕реАрдПрд╕рдПрд╕ рд╣реИ

html, body {
    margin:0, padding:0, border:0;
    height: 100%;
}

#content {
    height: -webkit-calc(100% - 40px);
    height: calc(100% - 40px);
    background-color:gray;
}

#footer {
    background-color:black;
}

рдФрд░ рдЗрд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ HTML рд╣реИ

<!doctype html>
<html lang="en">
<head>
<link rel="stylesheet/less" type="text/css" href="test.css" />
<script src="less-1.3.3.min.js"></script>
<body>
<div id="content"></div>
<div id="footer" style="height:40px"></div>
</body>
</html>

"рд╕рд╛рдордЧреНрд░реА" рдХреЛ 60% рдХреА рдКрдВрдЪрд╛рдИ рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреИрд▓реНрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдФрд░ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рдХрдо рд╣реИред рд╕рдлрд╛рд░реА 6.0.2 рдФрд░ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ред

1.4.0 . рдХреЗ рд▓рд┐рдП рдорд╛рд╕реНрдЯрд░ рдкрд░ рдлрд┐рдХреНрд╕реНрдб

height: ~"calc(100% - 50px)";

рдЕрднреА рднреА рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИ:

height: calc(50%);

рдореЗрд░реЗ рд▓рд┐рдПред рдореБрдЭреЗ рдЪрд╛рд╣рд┐рдП:

height: calc(100% - 50px);

рдХреНрдпрд╛ рдЕрдзрд┐рдХ рд╣реИ, рдпрд╣ рдЕрднреА рднреА height: calc(50%); рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рд╕рдЦреНрдд рдЧрдгрд┐рдд рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рднреА on ред

@OliverJAsh рдореИрдВ рдЖрдкрдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ 1.7.0 рд╕реЗ рдХрдо рдХреЗ рд╕рд╛рде рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ (рджреЛрдиреЛрдВ рдмрдЪ рдЧрдП рдореВрд▓реНрдп рдФрд░ --strict-math:on рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ) ... рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд╕рдВрдХрд▓рдХ/рдкрд░реНрдпрд╛рд╡рд░рдг/рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ? (рдмрд╕ рдЕрдЧрд░ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдорд╕реНрдпрд╛ рдереА рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЧрд▓рдд рдкрд░рд┐рдгрд╛рдо рджреЗ рд╕рдХрддреА рд╣реИ: https://github.com/twbs/bootstrap/issues/13604, рд╢рд╛рдпрдж рдпрд╣ рдЖрдкрдХрд╛ рдорд╛рдорд▓рд╛ рднреА рд╣реИ?)

рдореБрдЭреЗ 1.6.3 рдореЗрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЖ рд░рд╣реА рдереА (рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдЬрдм рдореИрдВ 1.7.x рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддрд╛ рд╣реВрдВ рддреЛ WinLESS рд╕рдВрдХрд▓рди рдкрд░ рдмрд╛рдзрд╛ рдбрд╛рд▓рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЕрднреА рдХреЗ рд▓рд┐рдП 1.6.x рдкрд░ рдЪрд┐рдкрдХрд╛ рд╣реВрдВ)

рдореЗрд░рд╛ рдХреНрд╡рд┐рдХрдлрд┐рдХреНрд╕ рд╕рд┐рд░реНрдл рд╕рдореАрдХрд░рдг рдХреЗ рдПрдХ рд╣рд┐рд╕реНрд╕реЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛ рдЬреИрд╕реЗ:

height: calc(~"100%" - unit(<strong i="7">@var</strong>, px));

рдпрд╣ рдЪрд░ рдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ <strong i="10">@var</strong>: 50 ред рдпрд╛ рдЖрдк рдкреВрд░реА рдЧрдгрдирд╛ рд╕реЗ рдмрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ calc(~"100% - 50px");

@twiginteractive рдпрджрд┐ рдЖрдкрдХреЛ --strict-math рд╡рд┐рдХрд▓реНрдк off (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧ) рдХреЗ рд╕рд╛рде рднрд╛рдЧрдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ рддреЛ рдпрд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред --strict-math ред

@ рд╕рд╛рдд-рдЪрд░рдг-рдЕрдзрд┐рдХрддрдо рд╣рдордо - рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдПрд╕рдПрдо рдСрдл (рдбрд┐рдлрд╝реЙрд▓реНрдЯ) рдХреЗ рд╕рд╛рде, рддреЛ рдпрд╣ _ рдЪрд╛рд╣рд┐рдП_ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╛рдиреА рдЫреВрдЯрд╛ рд╣реБрдЖ)
height: calc(100% - 10px);

рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЖрдЙрдЯрдкреБрдЯ CSS height: calc(90%); , рдЬреЛ рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ 1.7 рдореЗрдВ рддрдп рд╣реЛ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЕрднреА рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдЬрдм рддрдХ рдХрд┐ рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рддрд╛ рдХрд┐ WinLESS рд╕рдВрдХрд▓рди рдХреНрдпрд╛ рддреЛрдбрд╝ рд░рд╣рд╛ рд╣реИред

(рдЬрдм рддрдХ рдХрд┐ рдореИрдВ рдбреЙрдХреНрд╕ рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдкрдврд╝ рд░рд╣рд╛ рд╣реВрдВ, рдЬрдм рдпрд╣ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ "рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛" ... LESS рдХреЛ 100% рдХрд╛ рдорд╛рди рдирд╣реАрдВ рдкрддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ '100% - 10px' рдкрд░ рдЧрдгрд┐рддреАрдп рдЧрдгрдирд╛ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП)

@twiginteractive

рдбреЙрдХреНрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдПрд╕рдПрдо рдСрдл (рдбрд┐рдлрд╝реЙрд▓реНрдЯ) рдХреЗ рд╕рд╛рде рддреЛ рдЗрд╕реЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрд╛рдиреА рдЕрдЫреВрддрд╛)

рдирд╣реАрдВ, рд╡рд╣рд╛рдВ рд╢рдмреНрдж currently рди рдХрд┐ correctly (рдпрд╛рдиреА "рд╡рд░реНрддрдорд╛рди рдореЗрдВ _be рд╕рдВрд╕рд╛рдзрд┐рдд_ рд╣реЛрдЧрд╛")ред

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

рдКрдВрдЪрд╛рдИ: ~ "рдХреИрд▓реНрдХ (100% - 50 рдкреАрдПрдХреНрд╕)"; рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред

рдпрд╣реАрдВ рд╕реЗ Less.js рдЖрдкрдХреЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЦрд┐рд▓рд╡рд╛рдбрд╝ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред

height: _calc(50%);
height: calc(100% - 50%); /* browser-native */

@stevenvachon

рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ v2.0 рдореЗрдВ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЙрдкрд╕рд░реНрдЧ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛ рдЬреИрд╕реЗ:

рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ calc рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдХреЛрдИ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд calc рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ, рдХрдо рдХреЗрд╡рд▓ рдЕрдкрдиреЗ (рдХрдо) рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЧрдгрд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░ рд░рд╣рд╛ рд╣реИред рдмрд╕, рдЗрддрдирд╛ рд╣реАред рдпрджрд┐ рдЖрдк рдпрд╣ "рдЧрдбрд╝рдмрдбрд╝" рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ --strict-math ред

Ps рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╕рдЦреНрдд рдЧрдгрд┐рдд рд╣реИред рдФрд░ рд╢рд╛рдпрдж рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП
рдХреИрд▓реНрдХ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп рд╕рдЦреНрдд рдЧрдгрд┐рдд рд▓рд╛рдЧреВ рдХрд░реЗрдВ?

рдХрдо рдХреЗ рдмрд╛рдж рдорд┐рдердХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╕рдорд╕реНрдпрд╛ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред

рдХреНрдпреЛрдВ? рдХреНрдпрд╛ рдорд┐рдердХ рдХреЛрд╖реНрдардХ рд╣рдЯрд╛рддрд╛ рд╣реИ? рд╕рдЦреНрдд рдЧрдгрд┐рдд рдХрдо рдЙрдЪрд┐рдд рд╕реБрдкрд░рд╕реЗрдЯ рдмрдирд╛рддрд╛ рд╣реИ
рд╕реАрдПрд╕рдПрд╕ рдХрд╛ред

рдФрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреИрд▓реНрдХ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░ рд╣рдореЗрдВ рд╕рдЦреНрдд рдЧрдгрд┐рдд рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рд╣рдордиреЗ #1872 рдореЗрдВ рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рд╣реИ рдФрд░ "рд╕реНрдерд╛рдиреАрдп рд╕рдЦреНрдд- рдЧрдгрд┐рдд: рдСрди " рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рдЦрд┐рд▓рд╛рдл рдХреБрдЫ рддрд░реНрдХ рд╣реИрдВред рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди (рдЕрднреА рддрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддрдп рдирд╣реАрдВ рд╣реБрдЖ) #1880 рдореЗрдВ рд╣реИред

@stevenvachon

рд╕рдЦреНрддрдореИрде рдХреЗ рд╕рд╛рде рднреА, рд╣рдореЗрдВ ~"calc(...)" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдХрдо рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд╕рдХреЗред

рдЙрджрд╛рд╣рд░рдг? рдпрд╛рдиреА рдПрдХ рд╕реНрдирд┐рдкреЗрдЯ рдЬрд╣рд╛рдВ рдХрдо calc рд╕рд╛рде --strict-math=on рдЕрдВрджрд░ рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЦрд░рд╛рдм рдХрд░рддрд╛ рд╣реИред

v2 рдЙрдкрд╕рд░реНрдЧ рдХрдм рд╕реЗ рдХрд╛рд░реНрдп рдХрд░реЗрдЧрд╛? рдХреНрдпрд╛ рд╣рдордиреЗ рдпрд╣ рддрдп рдХрд┐рдпрд╛ рдФрд░ рдореИрдВ рднреВрд▓ рдЧрдпрд╛?

v2 рдЙрдкрд╕рд░реНрдЧ рдХрдм рд╕реЗ рдХрд╛рд░реНрдп рдХрд░реЗрдЧрд╛? рдХреНрдпрд╛ рд╣рдордиреЗ рдпрд╣ рддрдп рдХрд┐рдпрд╛ рдФрд░ рдореИрдВ рднреВрд▓ рдЧрдпрд╛?

рдирд╣реАрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ https://github.com/less/less.js/issues/2102#issuecomment -50286985ред

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

рдореИрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЕрдЬреАрдм рд╣реЛ рд░рд╣рд╛ рд╣реИ рджреЗрдЦрд╛ рд╣реИ calc рдЬрдм рдЗрди-рд╕рдВрдпреЛрдЬрди рдХреЗ рд░реВрдк рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ width ред рдореИрдВрдиреЗ рдЗрд╕реЗ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдПрдХ рдХреЛрдбрдкреЗрди рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ рд╣реИ: http://codepen.io/anon/pen/OVpJvP

@alenb

рддреЛ рд╡рд╣рд╛рдБ рдХреНрдпрд╛ рдЕрдЬреАрдм рд╣реИ? рдЖрдкрдХреЗ рдХреЛрдбрдкреЗрди рдореЗрдВ рдХреЛрдб рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ...

@ рд╕рд╛рдд-рдЪрд░рдг-рдЕрдзрд┐рдХрддрдо

рдпрд╣ рд╕рдВрдХрд▓рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИред CSS рдХреЛрдб рдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рдмрд╛рд░реАрдХреА рд╕реЗ рдЬрд╛рдВрдЪреЗрдВред

рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдЕрднреА рднреА рджрд╛рдИрдВ рдУрд░ рдПрдХ рдЕрдВрддрд░ рд╣реИ, рднрд▓реЗ рд╣реА рдЗрд╕реЗ 3 рд╕реНрддрдВрднреЛрдВ рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлреИрд▓рд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкрд╣рд▓реЗ рджреЛ рдХреЙрд▓рдо 33.33% рдорд╛рдЗрдирд╕ 20рдкреАрдПрдХреНрд╕ рдФрд░ рдЖрдЦрд┐рд░реА рдХреЙрд▓рдо 33.33% рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдкрд╣рд▓реЗ 2 рдХреЙрд▓рдо рдореЗрдВ 20px рдХрд╛ рдкреИрдбрд┐рдВрдЧ-рд░рд╛рдЗрдЯ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдмрд╕реЗ рджрд╛рдИрдВ рдУрд░ рдПрдХ рдЧреИрдк рд╣реИред

рдореИрдВрдиреЗ рдХрд▓ рд░рд╛рдд рдЗрд╕рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдЦреЗрд▓рд╛ рд╣реИ рдФрд░ рдкреИрдбрд┐рдВрдЧ-рд░рд╛рдЗрдЯ рдХреЗ рдмрдЬрд╛рдп рдорд╛рд░реНрдЬрд┐рди-рд░рд╛рдЗрдЯ рдЯреНрд░рд┐рдХ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд╣реИред

@alenb

рдпрд╣ рд╕рдВрдХрд▓рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИред CSS рдХреЛрдб рдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рдмрд╛рд░реАрдХреА рд╕реЗ рдЬрд╛рдВрдЪреЗрдВред

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

рдкрд╣рд▓реЗ 2 рдХреЙрд▓рдо рдореЗрдВ 20px рдХрд╛ рдкреИрдбрд┐рдВрдЧ-рд░рд╛рдЗрдЯ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ

padding рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЪреМрдбрд╝рд╛рдИ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ (рдЬрдм рддрдХ рдХрд┐ рдЖрдк рд╡рд┐рд╢рд┐рд╖реНрдЯ [ box-sizing ](https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ) )), consult [CSS specs](http://www.w3.org/TR/REC-CSS2/box.html). So you simply get : (33% - 20px) + (33% - 20px) + 33% = 99% - 40px -> 40px` рдЬреИрд╕рд╛ рдХрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рдерд╛ред

рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реАрдПрд╕рдПрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЗрд╕рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдХрдо calc рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред рдХреЛрдбрдкреЗрди рдХреЛрдб рдореЗрдВ "рд╕рдВрдХрд▓рд┐рдд рджреЗрдЦреЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╡рд╣рд╛рдВ рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ calc рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рд▓реЗрд╕ рджреНрд╡рд╛рд░рд╛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдЧрдП рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ)ред

@ рд╕рд╛рдд-рдЪрд░рдг-рдЕрдзрд┐рдХрддрдо

рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреЛрдбрдкреЗрди рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдЖрдЬ рднреА рдпрд╣ рдХрдо (рдПрдирдкреАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдХреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдерд╛:
min-height: ~"calc(100% - 262px)"; //calc(100% - 262px);

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

@RenaudParis --strict-math

рдареАрдХ рд╣реИ, рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛, рдзрдиреНрдпрд╡рд╛рдж! рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ by
рдЪреВрдХ рдЬрд╛рдирд╛? рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд╛рдлреА рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рд╣реИ, рдЬрдм рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ
рдкреИрд░рд╛рдореАрдЯрд░ред

рдлрд┐рд░ рднреА рдзрдиреНрдпрд╡рд╛рдж!

рд▓реЗ рд╡реЗрдиред 8 рдПрд╡реАрдЖрд░ 2016 20:48, рдореИрдХреНрд╕ рдорд┐рдЦрд╛рдЗрд▓реЛрд╡ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com a
рдЗрдХреНрд░рд┐рдЯ:

@RenaudParis https://github.com/RenaudParis --strict-math
http://lesscss.org/usage/#command -line-usage-strict-math

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/less/less.js/issues/974#issuecomment -207553212

рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╣реЛ?

рдЗрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмрдирд╛рдиреЗ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдореМрдЬреВрджрд╛ рдХрдо рдХреЛрдб-рдмреЗрд╕ рдЯреВрдЯ рдЬрд╛рдПрдВрдЧреЗред рдПрдХ рдмрд╛рд░ (~ v1.4.0 ) рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╡рд┐рд░рд╛рд╕рдд рдХреА рдкрд┐рдЫрдбрд╝реА-рд╕рдВрдЧрддрддрд╛ рдХреЗ рдХрд╛рд░рдг рдЗрд╕реЗ рдЙрд▓рдЯ рджрд┐рдпрд╛ рдЧрдпрд╛ ... # 1880 рдореЗрдВ рдПрдХ рдирдИ, рдХрдо-рдШреБрд╕рдкреИрда рд╡рд┐рдзрд┐ рд╡рд┐рдХрд╕рд┐рдд рдХреА рдЧрдИ рдереА (рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрднреА рддрдХ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред

рдареАрдХ рд╣реИ, рдореБрдЭреЗ рдЗрд╕реЗ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдореИрдХреНрд╕!

рд▓реЗ рд╕реИрдоред 9 avr. 2016 13:46, рдореИрдХреНрд╕ рдорд┐рдЦрд╛рдЗрд▓реЛрд╡ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com a
рдЗрдХреНрд░рд┐рдЯ:

рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ by
рдЪреВрдХ рдЬрд╛рдирд╛?

рдЗрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмрдирд╛рдиреЗ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдореМрдЬреВрджрд╛ рдХрдо рдХреЛрдб-рдмреЗрд╕ рдЯреВрдЯ рдЬрд╛рдПрдВрдЧреЗред рдПрдХ рдмрд╛рд░
(~ v1.4.0 рдкрд░) рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди
рддреЛ рдпрд╣ рд╡рд┐рд░рд╛рд╕рдд рдХреА рдкрд┐рдЫрдбрд╝реА-рд╕рдВрдЧрддрддрд╛ рдХреЗ рдХрд╛рд░рдг рдЙрд▓рдЯ рдЧрдпрд╛ рд╣реИ... рдПрдХ рдирдпрд╛,
#1880 . рдкрд░ рдХрдо-рдШреБрд╕рдкреИрда рд╡рд┐рдзрд┐ рд╡рд┐рдХрд╕рд┐рдд рдХреА рдЧрдИ рдереА
https://github.com/less/less.js/issues/1880 (рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдЕрднреА рддрдХ))ред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/less/less.js/issues/974#issuecomment -207776654

рдореИрдВрдиреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ:

.calc(<strong i="6">@prop</strong>, @val) {
    @{prop}: ~"calc(~'@{val}')";
    @{prop}: ~"-moz-calc(~'@{val}')";
    @{prop}: ~"-webkit-calc(~'@{val}')";
    @{prop}: ~"-o-calc(~'@{val}');"
}
.calc(width, "80% - 36px");

рдЬрдм рдореИрдВ command line рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рд╕рд╣реА рд╣реЛрддрд╛ рд╣реИред рдХреЗрд╡рд▓ less-loader рд╕рд╣реА рдирд╣реАрдВ рд╣реИред рддреЛ рдореБрдЭреЗ рдпрд╣ рд╕рдорд╛рдзрд╛рди рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкрд░ рдорд┐рд▓рд╛

рдореИрдВ рдЗрд╕реЗ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реВрдВ, рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдпрд╣ рднреА рд╕рд╣реА рдирд╣реАрдВ рд╣реИред рддреЛ рдореИрдВрдиреЗ рдХреБрдЫ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ред рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕рд╣реА рдирд╣реАрдВ рд╣реИ !!ЁЯШВ

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

... рджреЗрд╢реА CSS рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдХрдо рдмрджрд▓реЗрдЧрд╛ред

рдпрд╣ рдирд╣реАрдВ рд╣реЛрддрд╛ред рдмрд╕ --strict-math=on рд╕реЗрдЯ рдХрд░реЗрдВ ( --strict-math=off рдЖрдзрд╛рд░ рдкрд░ рдХрдо рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдПрдХ рд╡рд┐рд╢рд╛рд▓ рд░рд╛рд╢рд┐ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдХреЗ рдХрд╛рд░рдг рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ, рд╕рд╛рде рд╣реА #1880 рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдХреБрдЫ рд╡рд┐рдЪрд╛рд░)ред

UIkit 3 рдереАрдо рдореЗрдВ рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ my_theme.less рдореЗрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:

height: ~"calc(100vh - 20px)";

рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

*.less рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╕рдордп рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ https://github.com/less/less.js/issues/974#issuecomment -9229470

рдзрдиреНрдпрд╡рд╛рдж @lukeapage ! рдореИрдВ

рдирдорд╕реНрддреЗ @mqliutie рдХреИрд▓реНрдХ рдХреЗ рд▓рд┐рдП

рдорд┐рд╢реНрд░рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

.calc(<strong i="8">@prop</strong>, @val) {
    @{prop}: ~"-webkit-calc('@{val}')";
    @{prop}: ~"-moz-calc('@{val}')";
    @{prop}: ~"calc('@{val}')";
}

рдЗрдирдкреБрдЯ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
.calc (рдЪреМрдбрд╝рд╛рдИ, "100% - 60px");

рдЖрдЙрдЯрдкреБрдЯ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
рдЪреМрдбрд╝рд╛рдИ: рдХреИрд▓реНрдХ (100% - 60 рдкреАрдПрдХреНрд╕);

рдпрд╣ рдореБрджреНрджрд╛ рдХреНрдпреЛрдВ рдмрдВрдж рд╣реИ?! рдпрд╣ рддрдп рдирд╣реАрдВ рд╣реИред

рдЬрдм рдореИрдВ calc(50% - 20px) рд▓рд┐рдЦрддрд╛ рд╣реВрдВ рддрдм рднреА рдореБрдЭреЗ calc(30%) рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред рдРрд╕рд╛ рдХрднреА рдХреЛрдИ рдЧрд▓рдд рд╣реИ, рдЗрд╕реЗ рдЗрд╕реЗ рдХреИрд▓реНрдХ () рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрдм рддрдХ рдХрд┐ рдЗрд╕рдХреА рдЧрдгрдирд╛ 100% рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ (рдЬреИрд╕реЗ рд╕рдорд╛рди рдЗрдХрд╛рдЗрдпреЛрдВ) рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреАред рдореИрдВ рдХрдо 2.7.3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВред

@ рдерд╛рдиреА
рдЗрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рд╕рдВрджрд░реНрдн рд▓реЗрдВ, рд╡реЗ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдЬрд┐рддрдирд╛ рдХрд┐ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЧрдгрд┐рдд рдХреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧ рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛ рдЙрдк-рдЙрддреНрдкрд╛рдж рд╣реИ, рдФрд░ рдЖрдк рд╣рдореЗрд╢рд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред
https://github.com/less/less.js/issues/974#issuecomment -207553212
https://github.com/less/less.js/issues/974#issuecomment -207776654

@jonjohnjohnson рд╡рд╣ рдлрд┐рд░ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдмрддрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рд╕рдЦреНрдд рдореЛрдб рдЗрд╕реЗ рдареАрдХ рдХрд░рддрд╛ рд╣реИ (рдЕрднреА рддрдХ рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ, рддреЛ рдмрдЧ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЧреИрд░-рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЭрдВрдбреЗ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП) рддреЛ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЪрд╛рд▓реВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд╣рддреЗ рд╣реИрдВ, рдпрд╣ рдореБрджреНрджрд╛ рдХрд┐рд╕реА рдкрд░рд┐рднрд╛рд╖рд╛ рд╕реЗ рддрдп рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

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

@ рдерд╛рдиреА

рддреЛ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЪрд╛рд▓реВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдпрд╣ рдореБрджреНрджрд╛ рдХреНрдпреЛрдВ рдмрдВрдж рд╣реИ?!

рдХреНрдпреЛрдВрдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдХреИрд╕реЗ рд╕реБрдзрд╛рд░рд╛ рдЬрд╛рдП, рдЗрд╕рдХреА рдЕрджреНрдпрддрди рдЪрд░реНрдЪрд╛ рдпрд╣рд╛рдБ рд╣реИ ред

@thany @ рд╕рд╛рдд-рдЪрд░рдг-рдЕрдзрд┐рдХрддрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд╣рд▓ рд╣реЛрддреЗ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ #1880 рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░реЗрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╛рдзрд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдирд┐рд░реНрдгрдп рдкрд░ рдЖрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдореБрджрд╛рдп рд╡рдЬрди рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ рдЬреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рдпрд╣ рдПрдХ рд▓рдВрдмрд╛ рдзрд╛рдЧрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдорд╛рдзрд╛рди-рдЦреЛрдЬ рдпрд╣реА рд╣реИ: рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдирд╛ рдФрд░ рдХрд┐рд╕реА рди рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рд╡рдЬрди рдХрд░рдирд╛ред рдФрд░ рдлрд┐рд░: рдХрд┐рд╕реА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

 width: 15%;
 height: ~"calc(width)";

рдКрдВрдЪрд╛рдИ = рдЪреМрдбрд╝рд╛рдИ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ

@xiaomizhou66
рдЗрд╕рдХрд╛ LESS рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ, рди рд╣реА рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗред рдпрд╣ рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдПрдХ рд╕реАрдПрд╕рдПрд╕ рдкреНрд░рд╢реНрди рд╣реИред рдХреГрдкрдпрд╛ "css Keep рдкрд╣рд▓реВ" рдЬреИрд╕реА рдХреЛрдИ рдЪреАрдЬрд╝ рдЦреЛрдЬреЗрдВ рдФрд░ рдЖрдкрдХреЛ рдХреБрдЫ рдЙрддреНрддрд░ рдорд┐рд▓реЗрдВрдЧреЗред

рддреЛ рдпрд╣ рдЕрднреА рднреА рдЯреВрдЯрд╛ рд╣реБрдЖ рд╣реИред рдХреИрд▓реНрдХ (100vh - 138px) -38px рдкрд░ рдЖрддрд╛ рд╣реИред

@willatathena

рдпрджрд┐ рдЖрдк рдХрдо 3.x рдХреЗ рд╕рд╛рде рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдЕрд▓рдЧ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛рдПрдВред
рдкрд╣рд▓реЗ рдХреЗ рдХрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ (рдЗрд╕реЗ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИ, рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд░реЛрдХреНрдд рдкреЛрд╕реНрдЯ рдкрдврд╝реЗрдВ)ред

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

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

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

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

matthew-dean picture matthew-dean  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

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