728x90
반응형
scss 구현 부분
$colors:(
standard: (
primary-color-blue: #2aace2,
mid-blue-color:#2695d2,
dark-blue-color:#124b62
),
contrasted: (
primary-color-blue: #177eab,
mid-blue-color:#1c6f9b,
dark-blue-color:#124b62
)
);
@function get-color($key, $type: 'standard'){
@each $name, $color in map-get($colors, $type){
@if($key == $name){
@return $color
}
}
}
@mixin get-color($property,$color){
#{$property}: get-color($color);
@at-root body.contrasted & {
#{$property}: get-color($color, contrasted);
}
}
.className{
@include get-color(background-color, primary-color-blue)
}css 빌드후
.className {
background-color: #2aace2;
}
body.contrasted .className {
background-color: #177eab;
}이렇게 출력되요
728x90
반응형
'front-end > CSS & SCSS' 카테고리의 다른 글
| vue3 vite css sourcemap 설정 (0) | 2023.06.13 |
|---|---|
| @at-root 의 사용법 (0) | 2023.06.13 |
| flex or grid (0) | 2023.06.13 |
| sticky vs fixed (0) | 2023.06.13 |
| List 와 map 의 차이 (0) | 2023.06.13 |