Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript로 CSS 변수 가져오기 및 설정

<시간/>

getComputedStyle() 메서드는 대상 요소에 적용된 모든 스타일을 포함하는 객체를 제공합니다. getPropertyValue() 메서드는 계산된 스타일에서 원하는 속성을 얻는 데 사용됩니다. setProperty()는 CSS 변수의 값을 변경하는 데 사용됩니다.

예시

다음 예는 JavaScript를 사용하여 CSS 변수를 가져오고 설정하는 방법을 보여줍니다.

<!DOCTYPE html>
<html>
<head>
<style>
:root {
   --outerColor: magenta;
   --innerColor: lightgreen;
   text-align: center;
}
div {
   margin: 5%;
   padding: 10%;
   background-color: var(--innerColor);
   border: 2px groove var(--outerColor);
}
</style>
</head>
<body>
<div onmouseover="showColor()" onmouseout="changeColor()">
<p></p>
</div>
</body>
<script>
let ele = document.querySelector(':root');
let para = document.querySelector('p');
function showColor() {
   let cs = getComputedStyle(ele);
   para.textContent = ("Previously " + cs.getPropertyValue('--innerColor') + " color");
}
function changeColor() {
   let item = document.querySelector('div');
   item.style.setProperty('--innerColor', 'magenta')
}
</script>
</html>

출력

이것은 다음과 같은 결과를 생성합니다 -

JavaScript로 CSS 변수 가져오기 및 설정

예시

<!DOCTYPE html>
<html>
<head>
<style>
:root {
   --customColor: seagreen;
}
div {
   margin: 5%;
   width: 130px;
   height: 130px;
   box-shadow: inset 0 0 38px var(--customColor);
   border-radius: 50%;
}
</style>
</head>
<body>
<div onmouseover="toggle()"></div>
</body>
<script>
let ele = document.querySelector(':root');
function toggle() {
   let cs = getComputedStyle(ele);
   let item = document.querySelector('div');
   if(cs.getPropertyValue('--customColor') !== 'blue') {
      item.style.setProperty('--customColor', 'blue')
   }
}
</script>
</html>

출력

이것은 다음과 같은 결과를 생성합니다 -

JavaScript로 CSS 변수 가져오기 및 설정