본문 바로가기
카테고리 없음

[CSS] 자주 사용하는 스타일 (border, color 등) 변수로 만들어서 사용하기

by Lizzie Oh 2022. 3. 10.

CSS를 사용하다보면 자주 사용하게 되는 스타일(메인 컬러, border 스타일 등) 이 존재하는데,

이렇게 반복되는 스타일을 변수로 처리하게 되면 여러가지 이점이 있다. 그 중에서도 내가 생각하는 가장 좋은 점은 아래 두 가지 !

 

1.  같은 코드를 반복해서 입력하지 않아도 된다. 즉 코드 작성이 편해진다.

2. 추후 메인 컬러나 스타일이 변경되더라도 변수만 변경하면 되기 때문에 유지보수가 편해진다. 

 

    변수 생성하기    

변수를 생성하기 위해서는 :root 선택자를 사용하고, 속성을 --변수명:변수내용; 과 같이 입력한다. 

작성한 내용은 CSS 파일 (html에 직접 CSS를 작성하는 경우에는 style 태그 내) 최상단에 넣으면 된다.

<style>
:root {	
	--brand-main-color: #EAEAEA;
	--brand-sub-color: rgb(0,100,120);
}
</style>

 

    변수 사용하기    

변수를 사용하는 방법은 아주 간단하다. var(변수명) 으로 사용하면 끝! 

main a {
	background-color: var(--brand-main-color);
}

위와 같이 코드를 작성하면 main태그의 child a 태그들은 배경색으로 변수 --brand-main-color 에서 정한 #EAEAEA 색을 사용한다.

 

변수는 또 다른 변수를 만들 때도 사용할 수 있다.

메인 컬러 변수를 만든 후에, 해당 색을 테두리 색으로 이용하는 다른 변수를 만들고자 한다면 아래와 같이 사용할 수도 있다. 

<style>
:root {	
	--brand-main-color: #EAEAEA;
	--brand-sub-color: rgb(0,100,120);
	--default-border: 1px solid var(--brand-main-color);
}
</style>

 

    실습    

 

아래와 같이 css 파일의 가장 상단에 --main-color 변수를 생성하였다.

:root {
    --main-color: rgb(19,160,133);
}

 

메인 컬러가 들어가는 곳곳마다 var(--main-color)로 색을 표시하였다.

.intro-word {
    background-color: var(--main-color);
    }
 
.header-logo a {
    background-color: var(--main-color);
    }
    
.intro-contact i{
    border: 0.7px solid var(--main-color);
    }

 

메인 컬러 변수를 넣어 색을 표시한 곳에 변수에서 설정한 rgb(19,160,133) 색이 나타난다. 

 

변수를 사용하는 위력을 경험해보기 위해 변수로 설정한 색을 하늘색으로 바꾸어보도록 한다. 

:root {
	--main-color:rgba(0,202,249,0.8);
}

 

변수를 활용하지 않았다면, 색을 바꿔야 하는 모든 선택자를 찾아서 하나씩 색을 바꿔줘야 했을 것이다. 이처럼 자주 활용하는 색을 변수로 설정하면 유지보수의 효율이 기가 막히게 높아진다 ! 적절하게 변수를 활용해서 더욱 즐거운 코딩을 해보도록 하자 !

반응형

댓글