CSS 변수 시작하기
6332 단어 cssjavascriptbeginners
SASS 또는 기타 CSS 전처리기를 사용했다면 이미 변수를 사용했을 수 있습니다. CSS 변수(사용자 정의 속성이라고도 함)는 브라우저에서 기본적으로 구현됩니다.
CSS 변수는 이름에
--
접두사로 선언해야 합니다.:root {
--primary-color: #eaefed;
--text-color: #001100;
}
액세스하려면
var
함수를 사용하기만 하면 됩니다. var
함수의 첫 번째 인수는 변수의 이름입니다. 변수가 유효하지 않으면 폴백 값을 두 번째 인수로 전달할 수 있습니다..link {
border: 1px solid var(--primary-color);
color: var(--text-color, #111000);
/* if --text-color is invalid,fallback value #111000 is used */
}
변수의 범위
CSS 변수의 범위는 정의된 선택기의 범위입니다. 전역 범위의 경우
:root
또는 body
선택기에서 선언할 수 있습니다.예를 들어, 클래스
--btn-danger-color
에서 btn
라는 변수를 선언해 봅시다. 범위를 벗어난 다른 클래스의 변수--btn-danger-color
에 액세스하려고 하면 유효하지 않습니다. --btn-danger-color
의 범위는 btn
클래스에만 있기 때문에.btn {
--btn-danger-color: #FF4136;
background-color: var(--btn-danger-color);
}
.link {
background-color: var(--btn-danger-color, green);
/* Background color is green because --btn-danger is invalid */
}
JavaScript로 CSS 변수 액세스 및 수정
JavaScript를 통해 CSS 변수에 액세스하거나 수정하려면 두 가지 방법을 사용할 수 있습니다.
CSS 변수 값 얻기
CSS 변수의 값을 얻으려면
getPropertyValue
메서드를 사용할 수 있습니다.const btn = document.querySelector('.btn');
let btnDangerBg = getComputedStyle(element).getPropertyValue("--btn-danger-color");
console.log(btnDangerBg); // #FF4136 - value of the css variable defined in .btn class in CSS
:root
에 선언된 CSS 변수를 얻으려면 document.querySelector(':root');
를 사용할 수 있습니다.CSS 변수 값 변경
JavaScript에서 CSS 변수의 값을 설정하려면
setProperty
메서드를 사용할 수 있습니다. element.style.setProperty("--variable-name", value)
Button
메서드를 사용하여 setProperty
배경색을 보라색으로 변경하는 작은 함수를 작성해 보겠습니다.function changeColorToPurple(){
//Set the CSS variable value
btn.style.setProperty("--btn-danger-color", "purple")
}
HTML로 링크하는 것을 잊지 마십시오.
<button class="btn" onclick="changeColorToPurple()">Change Color</button>
데모
위의 코드에 임베디드repl를 추가하여 가지고 놀 수 있습니다.
감사합니다.
참조
CSS custom properties - MDN
[Every thing you need to know about CSS variables](https://www.freecodecamp.org/news/everything-you-need-to-know-about-css-variables-c74d922ea855/)
Reference
이 문제에 관하여(CSS 변수 시작하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/bgopikrishna/getting-started-with-css-variables-5ejk텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)