Less.js: ํ•˜์œ„ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ์— ๋ณ€์ˆ˜๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ "๋˜๋Š”" ์กฐ๊ฑด์ด ํฌํ•จ๋œ ์ž˜๋ชป๋œ ์ค‘์ฒฉ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ๋ณ‘ํ•ฉ

์— ๋งŒ๋“  2016๋…„ 09์›” 20์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: less/less.js

OR ์กฐ๊ฑด(์‰ผํ‘œ ๋˜๋Š” "or"-ํ‚ค์›Œ๋“œ ํฌํ•จ)์ด ์žˆ๋Š” ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ์ •์˜๊ฐ€ ํฌํ•จ๋œ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ž˜๋ชป๋œ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๊ฐ€ ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค. ์ƒ์œ„ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋Š” ๊ฐ ํ•˜์œ„ ์ฟผ๋ฆฌ ์•ž์— ์ถ”๊ฐ€๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋” ์ ์€:

<strong i="7">@highdpi</strong>: ~"(-webkit-min-device-pixel-ratio: 1.25), (min-device-pixel-ratio: 1.25), (min-resolution: 1.25dppx)";
.bg {
    <strong i="8">@media</strong> (max-width: 1000px) {
        background: url(bg-small.png);

        <strong i="9">@media</strong> <strong i="10">@highdpi</strong> {
            background: url([email protected]);
        }
    }
}

์‚ฐ์ถœ:

<strong i="14">@media</strong> (max-width: 1000px) {
  .bg {
    background: url(bg-small.png);
  }
}
<strong i="15">@media</strong> (max-width: 1000px) and (-webkit-min-device-pixel-ratio: 1.25), (min-device-pixel-ratio: 1.25), (min-resolution: 1.25dppx) {
  .bg {
    background: url([email protected]);
  }
}

์˜ˆ์ƒ ์ถœ๋ ฅ - ๊ฐ ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ๋ถ€๋ถ„ ์•ž์˜ "(์ตœ๋Œ€ ๋„ˆ๋น„: 1000px) ๋ฐ ":

[...]
<strong i="19">@media</strong> (max-width: 1000px) and (-webkit-min-device-pixel-ratio: 1.25), (max-width: 1000px) and (min-device-pixel-ratio: 1.25), (max-width: 1000px) and (min-resolution: 1.25dppx) {
[...]

_๋ฐ˜๋ฉด, ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๋•Œ๋Š” ์ž˜ ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค:_

.bg {
    <strong i="23">@media</strong> (max-width: 1000px) {
        background: url(bg-small.png);

        <strong i="24">@media</strong> (-webkit-min-device-pixel-ratio: 1.25), (min-device-pixel-ratio: 1.25), (min-resolution: 1.25dppx) {
            background: url([email protected]);
        }
    }
}
consider closing feature request needs decision stale

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

์ด๊ฒƒ์€ ๋ฒ„๊ทธ๋ผ๊ธฐ๋ณด๋‹ค ๊ธฐ๋Šฅ ์š”์ฒญ์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค. Less๋Š” ~"" (๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์–ด๋””์—์„œ๋‚˜ ) ๋‚ด๋ถ€์— ์žˆ๋Š” ๋‚ด์šฉ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Less๋Š” ์‰ผํ‘œ๋‚˜ ๊ธฐํƒ€ ํŠน์ˆ˜ ๊ธฐํ˜ธ์— ๋Œ€ํ•ด ์ „ํ˜€ ์•Œ์ง€ ๋ชปํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค.

๊ธฐ์ˆ ์ ์œผ๋กœ, ์œ„์™€ ๊ฐ™์€ ์ฝ”๋“œ("์ด์Šค์ผ€์ดํ”„๋œ ๋ฌธ์ž์—ด์˜ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ๋ชฉ๋ก")๋Š” ์ ์ ˆํ•œ ์ฝ”๋“œ๋กœ ๊ฐ„์ฃผ๋œ ์ ์ด ์—†๋Š” ์˜ค๋ž˜๋œ ๋‹จ์ /๊ตฌ๋ฌธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•๊ณผ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค( ~"" ์ž์ฒด ๋•Œ๋ฌธ์— ๋‹ค์‹œ ํ•œ ๋ฒˆ). ์˜ค๋Š˜๋‚ ์˜ Less์—์„œ ๋™์ผํ•œ ๊ฒƒ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ ์ ˆํ•œ ํŒจํ„ด์€ "๋งˆ๋ฒ• ๊ฐ’ ๋ณ€์ˆ˜" ๋Œ€์‹  ์ต๋ช…/๋ถ„๋ฆฌ๋œ ๊ทœ์น™ ์ง‘ํ•ฉ/๋ฏน์Šค์ธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ:

.highdpi(@rules) {
    <strong i="10">@media</strong> (-webkit-min-device-pixel-ratio: 1.25), 
           (min-device-pixel-ratio: 1.25), 
           (min-resolution: 1.25dppx) {
        @rules();
    }
}

.bg {
    <strong i="11">@media</strong> (max-width: 1000px) {
        background: url(bg-small.png);

        .highdpi({
            background: url([email protected]);
        });
    }
}

๋˜๋Š” ์ด์™€ ์œ ์‚ฌํ•œ ๋ฐฉ๋ฒ•.

#1421 ๋ฐ ์œ ์‚ฌํ•œ ๋ฌธ์ œ/์š”์ฒญ๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.


๊ธฐ๋Šฅ ์š”์ฒญ(์ œ์•ˆ๋œ ๊ฒฝ์šฐ)์ด๋”๋ผ๋„ ์ด ๊ธฐ๋Šฅ์€ ์–ด์จŒ๋“  ~"" ๋Œ€์‹  ๋‹ค๋ฅธ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์˜ˆ์ œ๋Š” ์œ„์—์„œ ์˜ˆ์ƒํ•œ ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์•„์•ผ ํ•˜๋ฏ€๋กœ " ๊ธฐ๋Šฅ ์š”์ฒญ"(FR์€ ์กฐ๊ธˆ ๋” ํ†ต์ฐฐ๋ ฅ์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์—).

#1421์— ๋ณ‘ํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

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

์ด๊ฒƒ์€ ๋ฒ„๊ทธ๋ผ๊ธฐ๋ณด๋‹ค ๊ธฐ๋Šฅ ์š”์ฒญ์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค. Less๋Š” ~"" (๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์–ด๋””์—์„œ๋‚˜ ) ๋‚ด๋ถ€์— ์žˆ๋Š” ๋‚ด์šฉ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Less๋Š” ์‰ผํ‘œ๋‚˜ ๊ธฐํƒ€ ํŠน์ˆ˜ ๊ธฐํ˜ธ์— ๋Œ€ํ•ด ์ „ํ˜€ ์•Œ์ง€ ๋ชปํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค.

๊ธฐ์ˆ ์ ์œผ๋กœ, ์œ„์™€ ๊ฐ™์€ ์ฝ”๋“œ("์ด์Šค์ผ€์ดํ”„๋œ ๋ฌธ์ž์—ด์˜ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ๋ชฉ๋ก")๋Š” ์ ์ ˆํ•œ ์ฝ”๋“œ๋กœ ๊ฐ„์ฃผ๋œ ์ ์ด ์—†๋Š” ์˜ค๋ž˜๋œ ๋‹จ์ /๊ตฌ๋ฌธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•๊ณผ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค( ~"" ์ž์ฒด ๋•Œ๋ฌธ์— ๋‹ค์‹œ ํ•œ ๋ฒˆ). ์˜ค๋Š˜๋‚ ์˜ Less์—์„œ ๋™์ผํ•œ ๊ฒƒ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ ์ ˆํ•œ ํŒจํ„ด์€ "๋งˆ๋ฒ• ๊ฐ’ ๋ณ€์ˆ˜" ๋Œ€์‹  ์ต๋ช…/๋ถ„๋ฆฌ๋œ ๊ทœ์น™ ์ง‘ํ•ฉ/๋ฏน์Šค์ธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ:

.highdpi(@rules) {
    <strong i="10">@media</strong> (-webkit-min-device-pixel-ratio: 1.25), 
           (min-device-pixel-ratio: 1.25), 
           (min-resolution: 1.25dppx) {
        @rules();
    }
}

.bg {
    <strong i="11">@media</strong> (max-width: 1000px) {
        background: url(bg-small.png);

        .highdpi({
            background: url([email protected]);
        });
    }
}

๋˜๋Š” ์ด์™€ ์œ ์‚ฌํ•œ ๋ฐฉ๋ฒ•.

#1421 ๋ฐ ์œ ์‚ฌํ•œ ๋ฌธ์ œ/์š”์ฒญ๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.


๊ธฐ๋Šฅ ์š”์ฒญ(์ œ์•ˆ๋œ ๊ฒฝ์šฐ)์ด๋”๋ผ๋„ ์ด ๊ธฐ๋Šฅ์€ ์–ด์จŒ๋“  ~"" ๋Œ€์‹  ๋‹ค๋ฅธ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์˜ˆ์ œ๋Š” ์œ„์—์„œ ์˜ˆ์ƒํ•œ ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์•„์•ผ ํ•˜๋ฏ€๋กœ " ๊ธฐ๋Šฅ ์š”์ฒญ"(FR์€ ์กฐ๊ธˆ ๋” ํ†ต์ฐฐ๋ ฅ์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์—).

#1421์— ๋ณ‘ํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@seven-phase-max ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ด์Šค์ผ€์ดํ”„๋œ ๋ฌธ์ž์—ด์ด ์žˆ๋Š” ๋ณ€์ˆ˜ ๋Œ€์‹  ๋‹ค๋ฅธ ".highdpi" ๋ฏน์Šค์ธ์„ ์‚ฌ์šฉํ•˜๋„๋ก ๋ฏน์Šค์ธ์„ ๋ณ€๊ฒฝํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

@seven-phases-max ์—ฌ๊ธฐ์— ๋‘ ๊ฐ€์ง€ ๊ฐœ๋ณ„ ๋ฌธ์ œ/๊ธฐ๋Šฅ ์š”์ฒญ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฏ€๋กœ ์ด๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š๊ณ  #1421์— ๋ณ‘ํ•ฉํ•ด์•ผ ํ•˜๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  1. Less ํŒŒ์„œ๊ฐ€ ํ‘œํ˜„์‹๊ณผ ๋ชฉ๋ก์— ๋Œ€ํ•ด ๋” ๋Š์Šจํ•˜๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ชฉ๋ก์ด ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ๊ฐ’ ๋˜๋Š” ์„ ํƒ๊ธฐ๋กœ ๊ตฌ์„ฑ๋˜๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋ฅผ ๋ณ€์ˆ˜๋กœ ๋งŒ๋“ค๋ ค๋Š” ๊ฒฝ์šฐ ๋ฌธ์ž์—ด ์ด์Šค์ผ€์ดํ”„๊ฐ€ ์š”๊ตฌ ์‚ฌํ•ญ์ผ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. (์ผ๋ฐ˜์ ์ธ ์š”๊ตฌ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค.) ์ด๊ฒƒ์€ #1421์ด๋ฉฐ @media ์˜ˆ์ œ๋Š” ํ•ด๋‹น ๋ฌธ์ œ์— ๋‹ค๋ฅธ ๊ฒƒ์ด ์ถ”๊ฐ€๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ์ค‘์ฒฉ ๋œ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ๊ฐ’์˜ ๋ณ‘ํ•ฉ ๋ชฉ๋ก (์— ๋”ฐ๋ผ #1 ๋งŒ์—์„œ ์‹คํŒจ / ๋ณ„๋„์˜ ํŒจ์Šค๋ฅผํ•ด์•ผ #1 . ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์žˆ์ง€๋งŒ ๊ทธ #1 , #2 ๋…ผ๋ฆฌ์ ์ธ ๋‹ค์Œ ๋‹จ๊ณ„์ด๋ฏ€๋กœ ์—ฌ๊ธฐ #2964์—์„œ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณธ์งˆ์ ์œผ๋กœ ๊ฑฐ์˜ ๋™์ผํ•œ ๋ฌธ์ œ์ด๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๊ธฐ์—์„œ #3059๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. ์ฆ‰, ๊ธฐ๋ณธ์ ์œผ๋กœ ์งˆ๋ฌธ์€ "๋ณ€์ˆ˜๊ฐ€ ๊ฐ’์œผ๋กœ ๋Œ€์ฒด๋œ ํ›„ @media ๋ฐ @supports ์ฟผ๋ฆฌ ๋“ฑ์˜ ์ „์ฒด ๊ธฐ๋Šฅ์„ ์žฌ๋ถ„์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?"์ž…๋‹ˆ๋‹ค. (์ด๊ฒƒ์€ ์ž„์˜์˜ ์ˆœ๊ฐ„์— ์ž„์˜์˜ ๋ฌธ์ž์—ด์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํŒŒ์„œ ์ž์ฒด์˜ ์ฃผ์š” ๋ฆฌํŒฉํ† ๋ง์„ ์š”๊ตฌํ•˜๊ฑฐ๋‚˜ ๊ฐ ํŠน์ • ๋…ธ๋“œ ๋ฐ ํ•ด๋‹น eval/css-gen ํ•จ์ˆ˜์—์„œ ํŒŒ์‹ฑ ์ฝ”๋“œ๋ฅผ ๋ณต์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.)

์ด ๋ฌธ์ œ๋Š” ์ตœ๊ทผ ํ™œ๋™์ด ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž๋™์œผ๋กœ ์˜ค๋ž˜๋œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋” ์ด์ƒ ํ™œ๋™์ด ์—†์œผ๋ฉด ํ์‡„๋ฉ๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ๊ธฐ์—ฌ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

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