Notice
                              
                          
                        
                          
                          
                            Recent Posts
                            
                        
                          
                          
                            Recent Comments
                            
                        
                          
                          
                            Link
                            
                        
                    | 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
                            Tags
                            
                        
                          
                          - HTML
 - 친해지기
 - 가상클래스
 - js
 - row-gap
 - frontend
 - display
 - scss
 - Grid
 - 코딩문제
 - 코딩일기
 - sass
 - column-gap
 - Coda
 - 정규식표현
 - JavaScript
 - Pseudo
 - 코딩퀴즈
 - 코드다이어리
 - tailwindcss
 - regexp
 - 선택자
 - 코드일기
 - CSS
 - property
 - CLASS
 - DOM
 - 코딩테스트
 - vscode
 
                            Archives
                            
                        
                          
                          - Today
 
- Total
 
< Code diaries />
@at-rule - @property - css 변수를 효율적으로 관리 본문
@property를 사용하면 css변수를 조금 더
효율적으로 관리 할 수 있습니다.
1. css 변수 선언 기본방법
:root { 
	--primary : tomato;
}
h1 {
	color : var(--primary)
}
이슈 : 변수의 값을 혹시 컬러가 아닌 다른값이 들어가게 되면 아예 컬러가 적용되지 않습니다.
2. @property 사용시
@property --primary {
	syntax : '<color>';
    initial-value : tomato ;
    inherites : false;
}
h1 {
	color : var(--primary) // tomato;
}
h1:hover {
	--primary : olive;
}
h1:nth-child(2):hover {
	--primary : gold;
}
변수의 기본 값을 지정하고, syntax로 타입을 적어주었기 때문에, 변수의 값이 data type과 맞지않으면, 기본값으로 지정되게 되어 css가 아예 안나오는 걸 방지 할 수있습니다.
< syntax 속성 종류 >
| syntax 종류 | 사용 예 | 
| color | @property --var { syntax : '<color>'; initial-value : red; inherites : false; }  | 
| percentage | @property --var { syntax : '<percentage>'; initial-value : 30%; inherites : false; }  | 
| url | @property --var { syntax : '<url>'; initial-value : url('./images/a.png'); inherites : false; }  | 
| transform-function | @property --var { syntax : 'transform-function'; initial-value : translateX(20px); inherites : false; }  | 
3. 아래에서 실제로 연습해 보세요
See the Pen Untitled by Jey Lee (@Jey-Lee-the-sasster) on CodePen.
4. 브라우저 지원현황

https://caniuse.com/?search=%40property
"@property" | Can I use... Support tables for HTML5, CSS3, etc
caniuse.com

본 문서는 제가 오랫동안 일해왔던 내용을 강의와 책편집을 위해 정리해둔 내용입니다.
힘들게 만든 만큼 공부하시는 분들께 도움이 되면 좋겠습니다.
제 피드를 공유하거나 링크를 해주시는것은 감사합니다~

본 블로그에 사용된 기본 스티커 외의 이미지들 또한 직접 제작한 것들입니다.
하여 출처없이 이미지나 내용만을 카피해서
포스트를 쓰신다거나 하는것은 하지말아주세요 ^^
감사합니다.
반응형
    
    
    
  'CSS - Advanced' 카테고리의 다른 글
| data-* 속성을 css로 불러들이기 (0) | 2025.03.02 | 
|---|---|
| :is() - 의사클래스 함수 (0) | 2024.06.08 | 
| @support (0) | 2024.06.08 |