css var

css º¯¼ö´Â ¹Ýº¹µÇ´Â ¼Ó¼º°ú ¼Ó¼ºÀ» ÇѲ¨¹ø¿¡ º¯°æÇÏ°í ½ÍÀ»¶§ »ç¿ëÇÏ´Â À¯¿ëÇÑ »ç¿ëÀÚ Á¤ÀÇ ¼Ó¼ºÀÌ´Ù.
»ç¿ë ¹æ¹ýÀÌ °£´ÜÇϸ鼭µµ °­·ÂÇÏ´Ù.
css var¸¦ »ç¿ëÇÏ¸é º¯¼ö¸¦ ¾÷µ¥ÀÌÆ® Çϴ°͸¸À¸·Îµµ ¿ä¼Ò°¡ ÀÚµ¿À¸·Î ¾÷µ¥ÀÌÆ® µÈ´Ù.

var »ç¿ë¹ý:  "--" Á¢µÎ¾î·Î ½ÃÀÛÇØ¾ß ÇÑ´Ù. ´Ü¾î ±¸ºÐÀº °ü·Ê»ó "--"·Î ÇÑ´Ù.
Àü¿ªÀ¸·Î ¼³Á¤½Ã :root¸¦ »ç¿ëÇÑ´Ù.
:root {
    --my-var: 30%
}

»ç¿ë¿¹: width¸¦ var º¯¼ö "--my-var"·Î ¼±¾ðÇÑ´Ù.
:root {
    --my-var: 30%
}

.main-title {
    background-color: gold;
    width: var(--my-var);
}

Æú¹éÀ» ÁÙ¼öµµ ÀÖ´Ù. --my-varÀÌ ¼±¾ð ¾ÈµÇ¾î ÀÖ´Ù¸é ´ÙÀ½°ú °°ÀÌ 0%·Î ¼³Á¤ ÇÑ´Ù.

width: var(--my-var, 0%);

ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼­ »ç¿ë¹ý

// ÀζóÀÎ ½ºÅ¸ÀÏ¿¡¼­ º¯¼ö ¾ò±â
element.style.getPropertyValue('--my-var');

// ¾î´À °÷¿¡¼­³ª º¯¼ö ¾ò±â
getComputedStyle(element).getPropertyValue('--my-var');

// ÀζóÀÎ ½ºÅ¸ÀÏ¿¡ º¯¼ö ¼³Á¤Çϱâ
element.style.setProperty('--my-var', '30%');

½ÇÁ¦ »ç¿ë¹ý

var °ªÀ» ÃÖÃÊ·Î °¡Á®¿Ã¶§´Â getComputedStyle·Î °¡Á®¿Í¾ß ÇÑ´Ù.

ÃÖÃÊ¿¡ document.documentElement.style.getPropertyValue·Î °ªÀ» °¡Á®¿À¸é °ªÀÌ ¾È³Ñ¾î ¿Â´Ù.
óÀ½¿¡ °ªÀ» ¾ò¾î ¿Ã¶§ getComputedStyle·Î Àаí, setProperty·Î °ªÀ» ÁöÁ¤ÇÑ´Ù.
setProperty·Î °ªÀ» ÁöÁ¤Çϸé getPropertyValue·Î °ªÀ» ÀÐÀ» ¼ö ÀÖ°Ô µÈ´Ù.

    let el = document.querySelector('.main-title');
    let width = window.getComputedStyle(el).getPropertyValue('--my-var');

setProperty·Î ÁöÁ¤ÇÑ °ªÀº getPropertyValue ÇÔ¼ö·Î °¡Á®¿Ã¼ö ÀÖ´Ù.
    document.documentElement.style.setProperty('--my-var', '90%');
    let width = document.documentElement.style.getPropertyValue('--my-var');
    console.log( 'testVar2 end width "%s"', width);

´Ù¿î·Îµå:
var_test.html
my.css
½ÇÇà ¹æ¹ý :
1. 'Enger' Å°¸¦ ´©¸£¸é width°¡ ÁÙ¾îµç´Ù.
2.. '1' Å°¸¦ ´©¸£¸é width°¡ ´Ã¾î³­´Ù.

Âü°í)
https://developer.mozilla.org/ko/docs/Web/CSS/Using_CSS_custom_properties