CSS

CSS 속성 변수로 담아 사용하기

시미금 2022. 8. 29. 01:29

주로 색상값을 변수에 담아 곳곳에 사용하면. 테마 변경시 변수에 담아둔 색상값만 변경하면 한번에 전부 변경된다.

일일이 하나하나 수정할 필요가 없어지고 유지보수가 용이한 코드가 된다는 것!

 

흔한패턴 : :root 의사 클래스에 선언해서 html문서 어디에서나 사용자 지정 속성에 접근할 수 있도록 구하는 방법.

범위를 제한해야 하는 적절한 이유가 있을 경우 달리 사용가능.

:root {
  --main-bg-color: brown;
}

아래 처럼 var()함수안에 선언한 이름을 넣어주면 그 값이 불러와 진다.

element {
  background-color: var(--main-bg-color);
}

 

 

 

 

왜 쓰는지 코드비교해보자. 반복사용하는 것을 선언하고 그 값을 뿌려준 코드. 추후에 값 변경시 일일이 찾아 변경하지 않아도 된다.

.one {
  color: white;
  background-color: brown;
  margin: 10px;
  width: 50px;
  height: 50px;
  display: inline-block;
}

.two {
  color: white;
  background-color: black;
  margin: 10px;
  width: 150px;
  height: 70px;
  display: inline-block;
}
.three {
  color: white;
  background-color: brown;
  margin: 10px;
  width: 75px;
}
.four {
  color: white;
  background-color: brown;
  margin: 10px;
  width: 100px;
}

.five {
  background-color: brown;
}
:root {
  --main-bg-color: brown;
}

.one {
  color: white;
  background-color: var(--main-bg-color);
  margin: 10px;
  width: 50px;
  height: 50px;
  display: inline-block;
}

.two {
  color: white;
  background-color: black;
  margin: 10px;
  width: 150px;
  height: 70px;
  display: inline-block;
}
.three {
  color: white;
  background-color: var(--main-bg-color);
  margin: 10px;
  width: 75px;
}
.four {
  color: white;
  background-color: var(--main-bg-color);
  margin: 10px;
  width: 100px;
}

.five {
  background-color: var(--main-bg-color);
}

 

 

폴백, 자바스크립트에서 사용자 속성값을 사용하는 코드는 아래링크를 참고하기

https://developer.mozilla.org/ko/docs/Web/CSS/Using_CSS_custom_properties

 

사용자 지정 CSS 속성 사용하기 (변수) - CSS: Cascading Style Sheets | MDN

사용자 지정 속성(CSS 변수, 종속 변수)은 CSS 저작자가 정의하는 개체로, 문서 전반적으로 재사용할 임의의 값을 담습니다. 사용자 지정 속성은 전용 표기법을 사용해 정의하고, (--main-color: black;)

developer.mozilla.org

폴백은 두개 선언을 하고 하나를 브라우저가 인식을 못하면 다른 차선책으로 값이 설정되게 하는 것인데

요 var()값이 속성이랑 안맞으면 폴백은 커녕 아예 뻑-나서 다른 차선책으로 설정한 값도 뻑나 버리고(폴백이 되지않고) 부모속성을 받아오고 그마저도 없으면 브라우저 초기값을 받아온다.라는 의미.

728x90