3.17 ~ 3.19, 4.0~4.4
▶️ 선택한 요소의 상황에 따른 스타일 적용 _ 태그뒤에 :로 적용
:active: 마우스 클릭되었을때
:hover: 마우스 커서가 올려져 있을때
:focus: 키보드로 선택되었을때
:visited: 방문기록이 있는 사이트의 링크
:focus-within: focus 상태인 자식을 가진 부모요소 (부모요소에 적용)
💡 다른요소와 연계해서 사용 할 수도 있다.
▶️ 예 ) form:hover input:focus {}
: form이 hover 되어있고 input이 focused일 때 두번째 태그인 input에 스타일 적용. (두 조건이 모두 만족되어야 스타일 적용됨.)
태그[속성="값"]{}속성="값"인 태그 선택
태그[속성~="값"]{}"값"을 포함하는 태그선택
태그[속성$="값"]{}끝에 "값"이 오는 태그 선택
태그[속성^="값"]{}앞에 "값"이 오는 태그 선택
태그::placeholderplacehoder에 스타일 주기
태그::selection드래그 했을때
태그::first-letter앞 글자에
태그::first-line첫 줄
▶️ 반복되는 스타일이 사용 될 때, 변수로 저장해서 쓰면 일일이 지정하고 수정 할 필요없음
:root{}에 속성을 변수로 저장!
< 작성법 >
- 색상:
--main-color:- border :
--default-border:
< 사용법 >태그 {color:var(--main-color);}태그 {border:var(--default-border);}
transition:+변화될 속성+변화에 걸리는시간
ex) transition:background-color 10s >> 배경색이 10초동안 바뀜.
all을 사용하여 변화하는 모든것에 transition을 한번에 줄 수 있다.,로 연결, border-radius 2s ; ▶️ 브라우저에게 애니메이션이 어떻게 변할지 말해주는것.
transition: 속성 지속시간 easefunction
디폴트로 저장되어 있는 효과
linear 일정한 속도
ease-in 속도가 느림에서 빠름
ease-out 속도가 빠름에서 느림
ease-in-out 속도가 느림에서 보통에서 느림
적용결과 확인 및 커스터마이징 가능한 사이트
https://matthewlein.com/tools/ceaser
tranform: 효과
transform mdn검색
▶️ transition 없이 원하는 만큼 애니메이션을 만들고 자동으로 재생시킬 수 있다.
어느지점에서 어느지점까지 움직이는 애니메이션
1. 애니메이션 설정
@keyframes 애니메이션이름 {
from{효과}
to{효과}
}
2. 애니메이션을 줄 요소에 적용
image{
animation: 애니메이션이름 재생시간 효과
}
💡 맨뒤에infinite를 붙여주면 설정한 애니메이션이 무한반복
%로 단계별 애니메이션을 지정할 수 있다.
ex)
0% {transform: rotateY(0);}
50% {transform: rotateY(180deg) translateY(100px);}
100% {transform: rotateY(0) translateY(0);}
👉 마지막 스텝인 100%에 애니메이션을 원래자리로 돌아오게하면 더 부드러워 진다.
👉 속성에 transform을 사용하는 것을 권장
👉 구글에서 애니메이션효과를 찾아서 사용할수도 있음