Less.js: CSS3 calc() ํ•จ์ˆ˜๋Š” LESS์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

์— ๋งŒ๋“  2012๋…„ 10์›” 08์ผ  ยท  51์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: less/less.js

์ด๋ฏธ ๋ณด๊ณ ๋œ ๊ฒƒ์œผ๋กœ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ์ •๋ณด๊ฐ€ ๋ถ€์กฑํ•˜์—ฌ ๋ฒ„๊ทธ๊ฐ€ ๋‹ซํ˜”์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ CSS ์ฝ”๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

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

130px ๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉํ•˜์—ฌ LESS๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ์‹ถ์—ˆ์ง€๋งŒ calc๋Š” LESS์— ์˜ํ•ด ํ•ด์„๋˜๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

<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๊ฐ€ ๋‚ด๋ถ€์šฉ์œผ๋กœ ์˜ˆ์•ฝํ•œ ๊ฒƒ์„ ์‚ฌ์šฉํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค...

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๊ทธ๋“ค์€ ์•„๋งˆ๋„ ์ค‘๋ณต์œผ๋กœ ๋‹ซํ˜”์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. calc์— ๋Œ€ํ•ด์„œ๋Š” ์ฐพ์„ ์ˆ˜ ์—†์ง€๋งŒ # 146 #122 ๋ฐ #915๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•: width: ~"calc(100% - @{id1width})"; - ๋ณ€์ˆ˜ ์ฃผ์œ„์— ์ค‘๊ด„ํ˜ธ๋ฅผ ์ฃผ๋ชฉํ•˜์‹ญ์‹œ์˜ค.

์šฐ๋ฆฌ๋Š” ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€๊ด„ํ˜ธ ์•ˆ์— ์žˆ๋Š” ๊ฒƒ๋งŒ ํ‰๊ฐ€ํ•˜๋Š” ์‹œ์Šคํ…œ์œผ๋กœ ์ด๋™ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  51 ๋Œ“๊ธ€

๊ทธ๋“ค์€ ์•„๋งˆ๋„ ์ค‘๋ณต์œผ๋กœ ๋‹ซํ˜”์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. calc์— ๋Œ€ํ•ด์„œ๋Š” ์ฐพ์„ ์ˆ˜ ์—†์ง€๋งŒ # 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;
}

์ด LESS ๋น„ํŠธ๋Š” ' @row1 ' ๊ฐ’์„ 10%๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ LESS์˜ ์ด์Šค์ผ€์ดํ”„๋œ ์„น์…˜ ์•ˆ์— ์žˆ๊ณ  LESS ๋ณ€์ˆ˜๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๊ณฑ์Šฌ๊ณฑ์Šฌํ•˜๊ฒŒ ๋ž˜ํ•‘๋˜๋ฉด '%' ์—†์ด '10'์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์•„์ง ์‹คํŒจํ•˜์ง€ ์•Š์€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ์ด์Šค์ผ€์ดํ”„๋œ ์ฝ”๋“œ ๋‚ด์—์„œ 'row1' ๋ณ€์ˆ˜์˜ ๋‹ซ๋Š” ์ค‘๊ด„ํ˜ธ ๋’ค์— ๋‹ค๋ฅธ '%'๋ฅผ ๋ฐฐ์น˜ํ•˜๋ฉด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค...

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

๊ทธ๋Ÿฌ๋‚˜ ์ด๋ฏธ ๋ณ€์ˆ˜์— ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋Š” ๋‹ค๋ฅธ ๋‹จ์œ„ ์œ ํ˜•์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ๊ฝค ํ•ดํ‚น์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

@jonjohnjohnson ์ด๊ฒƒ์€ ๋จธ๋ฆฌ์— ๊ณ ์ •๋˜์–ด ์žˆ์œผ๋ฉฐ 1.3.2์— ํฌํ•จ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ๋ฒ„๊ทธ์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์€ 1.4.0์—์„œ ํ•ด๊ฒฐ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ๊ฐ™์€ ๋ฌธ์ œ์ธ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ๋œ ๊ตฌ์ฒด์ ์ธ ๋‚ด์šฉ์ด ์—†์œผ๋ฉฐ 1.3.3 ๋ฏธ๋งŒ์ด ์œ ํšจํ•œ CSS๋ฅผ ๋ญ‰๊ฐœ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

CSS๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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%์˜ ๋†’์ด๋กœ ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ๋ธŒ๋ผ์šฐ์ €์— ๋ณ€๊ฒฝ ์—†์ด ์ „๋‹ฌํ•˜๋Š” ๋Œ€์‹  ๊ณ„์‚ฐ์‹์„ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๊ณ  ์ž˜๋ชป ํ•ด์„ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ ์Šต๋‹ˆ๋‹ค. Safari 6.0.2 ๋ฐ Firefox์—์„œ ํ…Œ์ŠคํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

1.4.0์˜ ๋งˆ์Šคํ„ฐ์—์„œ ์ˆ˜์ •๋จ

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

์—ฌ์ „ํžˆ ์ƒ์‚ฐ:

height: calc(50%);

๋‚˜๋ฅผ์œ„ํ•œ. ์›ํ•ด์š”:

height: calc(100% - 50px);

๊ฒŒ๋‹ค๊ฐ€ ์—„๊ฒฉํ•œ ์ˆ˜ํ•™์ด on ์„ค์ •๋œ ๊ฒฝ์šฐ์—๋„ ์—ฌ์ „ํžˆ height: calc(50%); ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

@OliverJAsh Less 1.7.0์—์„œ๋Š” ๊ฒฐ๊ณผ๋ฅผ ์žฌํ˜„ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค(์ด์Šค์ผ€์ดํ”„๋œ ๊ฐ’๊ณผ --strict-math:on ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•จ)... ์‚ฌ์šฉํ•˜๋Š” ์ปดํŒŒ์ผ๋Ÿฌ/ํ™˜๊ฒฝ/์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? (๋ถ€ํŠธ์ŠคํŠธ๋žฉ ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ๋ฌธ์ œ๊ฐ€ ์ด๋Ÿฌํ•œ ์ž˜๋ชป๋œ ๊ฒฐ๊ณผ๋ฅผ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•˜์—ฌ: https://github.com/twbs/bootstrap/issues/13604, ์•„๋งˆ๋„ ์ด๊ฒƒ์ด ๊ท€ํ•˜์˜ ๊ฒฝ์šฐ์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๊นŒ?).

1.6.3์—์„œ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค(์–ด๋–ค ์ด์œ ๋กœ WinLESS๋Š” 1.7.x๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ๋•Œ ์ปดํŒŒ์ผ์— ๋ฐฉํ•ด๊ฐ€ ๋˜๋ฏ€๋กœ ์ง€๊ธˆ์€ 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 ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

@seven-phases-max ํ  - ๋ฌธ์„œ์— ๋”ฐ๋ฅด๋ฉด SM์ด ๊บผ์ ธ ์žˆ์œผ๋ฉด(๊ธฐ๋ณธ๊ฐ’) ์ด _should_๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ตฌ๋ฌธ ๋ถ„์„๋ฉ๋‹ˆ๋‹ค(์ฆ‰, ์ˆ˜์ •๋˜์ง€ ์•Š์Œ).
height: calc(100% - 10px);

ํ•˜์ง€๋งŒ ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ถœ๋ ฅ CSS๋Š” ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๊ฐ€ ์•„๋‹Œ height: calc(90%); ์ž…๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ์ด๊ฒƒ์€ 1.7์—์„œ ์ˆ˜์ •๋˜์—ˆ์ง€๋งŒ ๋‚ด๊ฐ€ ๋งํ–ˆ๋“ฏ์ด WinLESS ์ปดํŒŒ์ผ์„ ๊นจ๋œจ๋ฆฌ๋Š” ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋‚ผ ๋•Œ๊นŒ์ง€ ์ง€๊ธˆ์€ ๊ทธ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

("์ •ํ™•ํ•˜๊ฒŒ ์ฒ˜๋ฆฌ๋  ๊ฒƒ"์ด๋ผ๊ณ  ๋˜์–ด ์žˆ์„ ๋•Œ ๋ฌธ์„œ๋ฅผ ์ž˜๋ชป ์ฝ์ง€ ์•Š๋Š” ํ•œ... LESS๋Š” 100%์˜ ๊ฐ’์„ ์•Œ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ '100% - 10px'์—์„œ ์ˆ˜ํ•™์  ๊ณ„์‚ฐ์„ ํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.)

@twiginteractive

๋ฌธ์„œ์— ๋”ฐ๋ฅด๋ฉด SM์ด ๊บผ์ ธ ์žˆ์œผ๋ฉด(๊ธฐ๋ณธ๊ฐ’) ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ตฌ๋ฌธ ๋ถ„์„๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์ฆ‰, ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Œ).

์•„๋‹ˆ์š”, ๊ฑฐ๊ธฐ์— ์žˆ๋Š” ๋‹จ์–ด๋Š” currently ์•„๋‹ˆ๋ผ correctly (์ฆ‰, "ํ˜„์žฌ _์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค_").

@seven-phases-max ์•„ - ๋ง™์†Œ์‚ฌ, ์ด์ œ ์ดํ•ด๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์„ค๋ช…ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋†’์ด: ~"๊ณ„์‚ฐ(100% - 50px)"; ๋‚˜๋ฅผ ์œ„ํ•ด ์ผํ–ˆ๋‹ค.

์—ฌ๊ธฐ์„œ Less.js๊ฐ€ ์ฝ”๋“œ๋ฅผ ์—‰๋ง์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

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

@stevenvachon

์•„๋งˆ๋„ v2.0์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ธฐ๋Šฅ์— ์ ‘๋‘์‚ฌ๋ฅผ ๋ถ™์ผ ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์ด ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์–ด๋–ค ์‹์œผ๋กœ๋“  calc ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚ด์žฅ๋œ calc ํ•จ์ˆ˜๊ฐ€ ์—†์œผ๋ฉฐ Less๋Š” (Less์˜) ๊ทœ์น™์— ๋”ฐ๋ผ ์ˆ˜ํ•™ ํ‘œํ˜„์‹์„ ํ‰๊ฐ€ํ•  ๋ฟ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒŒ ๋‹ค์•ผ ์ด "ํ˜ผ๋ž€"์„ ์›ํ•˜์ง€ ์•Š์œผ๋ฉด --strict-math .

P ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์€ ์—„๊ฒฉํ•œ ์ˆ˜ํ•™์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•„๋งˆ๋„ ์šฐ๋ฆฌ๋Š”
calc๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ์—„๊ฒฉํ•œ ์ˆ˜ํ•™์„ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

๋ฌธ์ œ๋Š” Less ์ดํ›„์— Myth๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค.

์™œ์š”? ์‹ ํ™”๋Š” ๊ด„ํ˜ธ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๊นŒ? ์—„๊ฒฉํ•œ ์ˆ˜ํ•™์€ ์ ์ ˆํ•œ ์ƒ์œ„ ์ง‘ํ•ฉ์„ ๋œ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
CSS์˜.

๊ทธ๋ฆฌ๊ณ  calc๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ์—„๊ฒฉํ•œ ์ˆ˜ํ•™์„ ์ ์šฉํ•ด์•ผ ํ• ๊นŒ์š”?

์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์„ #1872์—์„œ ๋…ผ์˜ํ–ˆ๊ณ  "local strict- math:on " ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

@stevenvachon

strictMath๋ฅผ ์‚ฌ์šฉํ•˜๋”๋ผ๋„ Less๊ฐ€ ๋ฌด์‹œํ•˜๋„๋ก ~"calc(...)"ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์‹œ? ์ฆ‰, Less ๊ฐ€ calc ๋‚ด๋ถ€์˜ ํ‘œํ˜„์‹์„ --strict-math=on ๊ณ ์ •ํ•˜๋Š” ์Šค๋‹ˆํŽซ์ž…๋‹ˆ๋‹ค.

v2 ์ ‘๋‘์‚ฌ๋Š” ์–ธ์ œ๋ถ€ํ„ฐ ์ž‘๋™ํ•ฉ๋‹ˆ๊นŒ? ์šฐ๋ฆฌ๊ฐ€ ๊ทธ๊ฒƒ์„ ๊ฒฐ์ •ํ•˜๊ณ  ๋‚ด๊ฐ€ ์žŠ์—ˆ๋‚˜์š”?

v2 ์ ‘๋‘์‚ฌ๋Š” ์–ธ์ œ๋ถ€ํ„ฐ ์ž‘๋™ํ•ฉ๋‹ˆ๊นŒ? ์šฐ๋ฆฌ๊ฐ€ ๊ทธ๊ฒƒ์„ ๊ฒฐ์ •ํ•˜๊ณ  ๋‚ด๊ฐ€ ์žŠ์—ˆ๋‚˜์š”?

์•„๋‹ˆ์š”. https://github.com/less/less.js/issues/2102#issuecomment -50286985๋ฅผ ์•ฝ๊ฐ„ ๊ณผ๋Œ€ํ‰๊ฐ€ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋„ค, ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. "์˜ต์…˜"์ด ์•„๋‹ˆ๋ผ "์˜ต์…˜์„ ์ œ๊ณตํ•˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ ์ž‘์„ฑ ๊ธฐ๋Šฅ"์ž…๋‹ˆ๋‹ค. ~"" ์— calc() ~"" ๊ฐ€ ์žˆ๊ฑฐ๋‚˜ ์—†๋Š” ์ผ๋ถ€ ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ํ…Œ์ŠคํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์กฐ๊ธˆ ์ „์— ์ฐฉ๊ฐ์„ ํ•˜๊ณ  ๊ทธ๋Ÿฐ ์˜คํ•ด๋ฅผ ํ•˜๋ฉฐ ๊ณ„์† ๋‚˜์•„๊ฐ€๊ณ  ์žˆ์—ˆ์„ ํ…๋ฐ. ์ง€๊ธˆ ์ˆ˜์ •ํ•ด์•ผ ํ•  ์˜ค๋ž˜๋œ ์ฝ”๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

width ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ๋•Œ calc ์ด์ƒํ•œ ์ผ์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋” ์‰ฝ๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋ชจ๋“  ๊ฒƒ์„ codepen์— ๋„ฃ์—ˆ์Šต๋‹ˆ๋‹ค. http://codepen.io/anon/pen/OVpJvP

@alenb

๊ทธ๋Ÿผ ๊ฑฐ๊ธฐ์— ์ด์ƒํ•œ ์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? codepen์˜ ์ฝ”๋“œ๊ฐ€ ์˜ˆ์ƒ๋Œ€๋กœ ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค...

@seven-phases-max

์ปดํŒŒ์ผ๋˜์—ˆ์ง€๋งŒ ์˜ˆ์ƒํ•œ ๊ฒƒ๊ณผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. CSS ์ฝ”๋“œ๋ฅผ ์ข€ ๋” ์ž์„ธํžˆ ํ™•์ธํ•˜์„ธ์š”.

3๊ฐœ์˜ ์—ด๋กœ ์™„์ „ํžˆ ๋Š˜์–ด๋‚˜์•ผ ํ•˜์ง€๋งŒ ๋งจ ์˜ค๋ฅธ์ชฝ์— ์—ฌ์ „ํžˆ ๊ฐ„๊ฒฉ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด์ƒํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜์Œ ๋‘ ์—ด์€ 33.33%์—์„œ 20px๋ฅผ ๋บ€ ๊ฐ’์ด์–ด์•ผ ํ•˜๋ฉฐ ๋งˆ์ง€๋ง‰ ์—ด์€ 33.33%์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜์Œ 2๊ฐœ ์—ด์˜ ์˜ค๋ฅธ์ชฝ ์—ฌ๋ฐฑ์€ 20px์ด์ง€๋งŒ ๋งจ ์˜ค๋ฅธ์ชฝ์— ๋ถ„๋ช…ํžˆ ๊ฐ„๊ฒฉ์ด ์žˆ์œผ๋ฏ€๋กœ ๋ฐ˜์˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ง€๋‚œ ๋ฐค์— ๋” ๋งŽ์€ ๊ฒƒ์„ ๊ฐ€์ง€๊ณ  ๋†€์•˜๊ณ  padding-right ๋Œ€์‹  margin-right๊ฐ€ ํŠธ๋ฆญ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

@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` ๊ฐ„๊ฒฉ์€ ์˜ˆ์ƒ๋Œ€๋กœ์ž…๋‹ˆ๋‹ค.

์–ด๋Š ์ชฝ์ด๋“  ์ด๊ฒƒ์€ CSS์—๋งŒ ๊ด€๋ จ๋˜๋ฉฐ Less๊ฐ€ calc ์ปดํŒŒ์ผํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค. codepen ์ฝ”๋“œ์—์„œ "์ปดํŒŒ์ผ๋œ ๋ณด๊ธฐ" ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด calc ๋ฌธ์ด ์‚ฌ์šฉ์ž๊ฐ€ ์ง€์ •ํ•œ ๊ฒƒ๊ณผ ์ •ํ™•ํžˆ ์ผ์น˜ํ•˜๋„๋ก Less์—์„œ ์ปดํŒŒ์ผ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@seven-phases-max

๋‚˜๋Š” codepen์ด ์ด๊ฒƒ์„ ๋ถ„๋ช…ํžˆ ํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์ง€๋งŒ ์ „ํ˜€ ๋ฌธ์ œ๊ฐ€๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ •๋ณด์— ๋Œ€ํ•ด์„œ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

์˜ค๋Š˜๋‚ ์—๋„ less์˜ ๊ธฐ๋ณธ ์„ค์น˜(npm ์‚ฌ์šฉ)์—์„œ๋Š” ์—ฌ์ „ํžˆ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์‚ฌ์šฉํ•ด์•ผํ–ˆ๋‹ค :
min-height: ~"calc(100% - 262px)"; //calc(100% - 262px);

๋ฒ„๊ทธ๊ฐ€ "๋‹ซํž˜"์œผ๋กœ ํ‘œ์‹œ๋˜์–ด ์ •์ƒ์ธ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์•Œ๋ ค๋“œ๋ฆฌ๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

@RenaudParis --strict-math

์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค. ์‹œ๋„ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ํ•˜์ง€๋งŒ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์ง€ ์•Š์„๊นŒ์š”?
๊ธฐ๋ณธ? ์ƒ๋‹นํžˆ ๋†€๋ž๊ธฐ ๋•Œ๋ฌธ์— ๋‹น์‹ ์ด ์ด๊ฒƒ์„ ๋ชจ๋ฅผ ๋•Œ
๋งค๊ฐœ๋ณ€์ˆ˜.

์–ด์จŒ๋“  ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๋ฅด ๋ฒค. 8 avr. 2016 ร  20:48, Max Mikhailov [email protected] 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

ํ•˜์ง€๋งŒ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณต๋˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์ง€ ์•Š์„๊นŒ์š”?

๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋งŒ๋“ค๋ฉด ๊ธฐ์กด์˜ ๋งŽ์€ Less ์ฝ”๋“œ ๊ธฐ๋ฐ˜์ด ์†์ƒ๋ฉ๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ(~ v1.4.0 ) ์‹ค์ œ๋กœ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋งŒ๋“ค๋ ค๋Š” ์‹œ๋„๊ฐ€ ์žˆ์—ˆ์ง€๋งŒ ๋ ˆ๊ฑฐ์‹œ ์ด์ „ ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ์œผ๋กœ ์ธํ•ด ์ทจ์†Œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค... #1880์—์„œ ๋ณด๋‹ค ์ƒˆ๋กญ๊ณ  ๋œ ๋ฐฉํ•ด์ ์ธ ๋ฐฉ๋ฒ•์ด ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(ํ•˜์ง€๋งŒ ์•„์ง ๊ตฌํ˜„๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค).

์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค. ์‹œ๊ฐ„์„ ๋‚ด์–ด ์„ค๋ช…ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. Max!

๋ฅด ์ƒ˜. 9์‹œ 2016๋…„ 13์‹œ 46๋ถ„, Max Mikhailov [email protected] a
์—ํฌ๋ฆฌํŠธ :

ํ•˜์ง€๋งŒ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์ง€ ์•Š์„๊นŒ์š”?
๊ธฐ๋ณธ?

๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋งŒ๋“ค๋ฉด ๊ธฐ์กด์˜ ๋งŽ์€ Less ์ฝ”๋“œ ๊ธฐ๋ฐ˜์ด ์†์ƒ๋ฉ๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ
(~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 ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ stackoverflow ์—์„œ ์ด ์†”๋ฃจ์…˜์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.

๋‚ด ์ฝ”๋“œ์— ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์Šฌํ”„๊ฒŒ๋„ ์ •ํ™•ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ญ”๊ฐ€ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ํšจ๊ณผ๊ฐ€์žˆ๋‹ค!

๋ถˆํ–‰ํžˆ๋„ ๋ช…๋ น์ค„ ์ด ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค!!๐Ÿ˜‚ ๐Ÿ˜‚ ๐Ÿ˜‚

์ด ๋ฌธ์ œ๊ฐ€ ์ข…๋ฃŒ๋œ ์ด์œ ๊ฐ€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Less๊ฐ€ ๊ธฐ๋ณธ CSS ๋™์ž‘์„ ๋ณ€๊ฒฝํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์ด์น˜์— ๋งž์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

... Less๋Š” ๊ธฐ๋ณธ CSS ๋™์ž‘์„ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ ‡์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. --strict-math=on ๋งŒ ์„ค์ •ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค( --strict-math=off ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋Š” ์—„์ฒญ๋‚œ ์–‘์˜ Less ํ”„๋กœ์ ํŠธ์™€์˜ ํ˜ธํ™˜์„ฑ๊ณผ #1880์—์„œ ์–ธ๊ธ‰ํ•œ ๋ช‡ ๊ฐ€์ง€ ๊ณ ๋ ค ์‚ฌํ•ญ์œผ๋กœ ์ธํ•ด ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์Œ).

UIkit 3 ํ…Œ๋งˆ์—์„œ my_theme.less ์—์„œ ์ด๊ฒƒ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

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

๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

*.less ํŒŒ์ผ https://github.com/less/less.js/issues/974#issuecomment -9229470์— ์ž‘์„ฑํ•  ๋•Œ ์ €์—๊ฒŒ ํšจ๊ณผ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

@lukeapage ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๐Ÿฅ‡

์•ˆ๋…•ํ•˜์„ธ์š” @mqliutie calc์— ๋Œ€ํ•œ mixin ์ œ์•ˆ์„ ์ถ”๊ฐ€ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Mixin์— ์ปดํŒŒ์ผ์„ ์ค‘๋‹จ์‹œํ‚ค๋Š” ์ถ”๊ฐ€ ~๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฏน์Šค์ธ์€

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

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค.
.calc(ํญ, "100% - 60px");

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
๋„ˆ๋น„: ๊ณ„์‚ฐ(100% - 60px);

์ด ๋ฌธ์ œ๊ฐ€ ๋‹ซํžŒ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?! ๊ณ ์ •๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

calc(50% - 20px) ์“ธ ๋•Œ ์—ฌ์ „ํžˆ calc(30%) ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๊ฒฐ์ฝ” ์•„๋ฌด๋‚˜ ์›ํ•˜๋Š” ๊ฒƒ์ด ์ž˜๋ชป ๋˜์—ˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์ œ์™ธ ํ•˜๊ณ ๋Š” 100% ์‹ ๋ขฐ๋„(์˜ˆ: ๋™์ผํ•œ ๋‹จ์œ„)๋กœ ๊ณ„์‚ฐํ•  ์ˆ˜

์ด ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ์—ฌ์‹ญ์‹œ์˜ค.

@thany
์ด ์ฃผ์„์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. ์ˆ˜ํ•™ ์ฒ˜๋ฆฌ์˜ ๊ธฐ๋ณธ ์„ค์ •์ด ์—ญ์‚ฌ์˜ ๋ถ€์‚ฐ๋ฌผ์ธ ๋งŒํผ ์ด๊ฒƒ์ด ์ •ํ™•ํžˆ ๋ฌธ์ œ๊ฐ€ ์•„๋‹Œ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๊ณ  ๊ธฐ๋ณธ ์„ค์ •์„ ์–ธ์ œ๋“ ์ง€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
https://github.com/less/less.js/issues/974#issuecomment -207553212
https://github.com/less/less.js/issues/974#issuecomment -207776654

@jonjohnjohnson ๊ทธ๊ฒƒ์€ ๋‹จ์ง€ ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ์–ธ๊ธ‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—„๊ฒฉ ๋ชจ๋“œ์—์„œ ์ˆ˜์ •ํ•˜๋ฉด(์•„์ง ์‹œ๋„ํ•˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ๋ฒ„๊ทธ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ๋“  ์ข…๋ฅ˜์˜ ๊ธฐ๋ณธ์ด ์•„๋‹Œ ํ”Œ๋ž˜๊ทธ๋ฅผ ํ™œ์„ฑํ™”ํ•  ํ•„์š”๊ฐ€ ์—†์–ด์•ผ ํ•จ) ๊ธฐ๋ณธ์ ์œผ๋กœ ์ผœ์ ธ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์–ด๋–ป๊ฒŒ ํ‘œํ˜„ํ•˜๋“  ์ด ๋ฌธ์ œ๋Š” ์–ด๋–ค ์ •์˜๋กœ๋„ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@thany ์ €๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ๊ณ  ํŒ๋‹จํ–ˆ์Œ์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ฃผ๋ ค๊ณ  ํ•œ ๊ฒƒ๋ฟ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์˜๊ฒฌ์€ ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ฌธ์ œ์— ๋Œ€ํ•œ ๊ฐœ๋ฐœ์ž์˜ ์ž…์žฅ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ํ–‰์šด์„ ๋น•๋‹ˆ๋‹ค.

@thany

๊ทธ๋Ÿฌ๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ์ผœ์ ธ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์ฆ‰์‹œ ์ˆ˜์ฒœ ๊ฐœ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ค‘๋‹จ์‹œํ‚ฌ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ธฐ๋ณธ ๋™์ž‘์„ ๋ฌธ์ œ๋กœ ์ทจ๊ธ‰ํ•˜๋Š” ๊ฒฝ์šฐ ๋ฌธ์„œํ™”๋œ ์˜ต์…˜์„ ์„ค์ •ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ์ •์˜์— ์˜ํ•ด.

์ด ๋ฌธ์ œ๊ฐ€ ๋‹ซํžŒ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?!

๊ธฐ๋ณธ ๋™์ž‘์„ ๊ฐœ์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ตœ์‹  ํ† ๋ก ์ด ์—ฌ๊ธฐ์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

@thany @seven-phase-max๋กœ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด #1880์— ๊ธฐ์—ฌํ•˜์„ธ์š”. ํ•ด๊ฒฐ์ฑ…์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ๊ตฌํ˜„ํ•  ์ค€๋น„๊ฐ€ ๋œ ๊ฒฐ์ •์„ ๋‚ด๋ฆฌ๊ธฐ์— ์ถฉ๋ถ„ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ํ‰๊ฐ€๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธด ๋‚ด์šฉ์ด์ง€๋งŒ ์†”๋ฃจ์…˜์„ ์ฐพ๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ œ์•ˆ์„ ๊ฒ€ํ† ํ•˜๊ณ  ์–ด๋–ค ์‹์œผ๋กœ๋“  ํ‰๊ฐ€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ: ๊ตฌํ˜„ํ•  ์ž‘์—…์„ ๋งก์„ ์‚ฌ๋žŒ.

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

๋†’์ด = ๋„ˆ๋น„๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

@xiaomizhou66
๊ทธ๊ฒƒ์€ LESS๋‚˜ ์ด ๋ฌธ์ œ์™€ ์•„๋ฌด ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ˆœ์ „ํžˆ CSS ์งˆ๋ฌธ์ž…๋‹ˆ๋‹ค. "css keep aspect"์™€ ๊ฐ™์€ ๊ฒƒ์„ ๊ฒ€์ƒ‰ํ•˜๋ฉด ๋ช‡ ๊ฐ€์ง€ ๋‹ต๋ณ€์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ด๊ฒƒ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹๊นจ์กŒ์Šต๋‹ˆ๋‹ค. calc(100vh - 138px)๋Š” -38px๋กœ ๋‚˜์˜ต๋‹ˆ๋‹ค.

@์œŒ๋ผํƒ€ํ…Œ๋‚˜

Less 3.x์—์„œ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋ณ„๋„์˜ ๋ฒ„๊ทธ ๋ณด๊ณ ์„œ๋ฅผ ์ž‘์„ฑํ•˜์‹ญ์‹œ์˜ค.
์ด์ „ Less ๋ฒ„์ „์˜ ๊ฒฝ์šฐ ์ด๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” ๋™์ž‘์ž…๋‹ˆ๋‹ค(์œ„์˜ ๊ฒŒ์‹œ๋ฌผ์—์„œ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์„ ํ™•์ธํ•˜์„ธ์š”).

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰