애니메이션
- 애니메이션을 나타내는 CSS 스타일과 애니메이션의 중간 상태를 나타내는 키프레임들로 구성
기본 속성
- animation-name = @keyframes의 이름 지정, animation-duration = 1회 애니메이션 시간
- animation-iteration-count = 애니메이션 반복 횟수 (infinite로 무한 반복 가능)
- animation-delay = 애니메이션 시작 전 지연시간
- animation-direction = 반복방향 설정 (normal/reverse/alternate)
- animation-timing-function = 애니메이션 속도 조절
(linear- 등속/ease - 느려졌다가 빨라졌다 다시 느려짐/ease-in - 점점 빨라짐/ease-in-out - 처음과 끝 느려짐/ease-out - 점점 느려짐)
- animation-play-state = 애니메이션 진행 상태 (running/paused)
- animation-fill-mode = 애니메이션 시작 / 끝 상태 설정
transfrom 속성
- transform: rotate/rotateX/rotateY = 요소 회전 (단위 deg => 360deg = 1회전)
- transform: translate/translateX/translateY = 요소 이동 (Y의 경우 숫자가 커질수록 위쪽이 아닌 아래쪽으로 이동!)
- transform: scale/scaleX/scaleY = 요소 크기 확대/축소
- transform: skew/skewX/skewY = 요소 비틀기 (ex - 정사각형 => 평행사변형)
- transfrom: rotate() scale()과 같이 한 줄로 표현 가능
transition 속성
- 프로퍼티의 변화가 일정 시간에 걸쳐 발생하도록 설정하는 속성
- transition-property = 트랜지션의 대상이 되는 프로퍼티 지정
- transition-duration = 트랜지션 지속 시간
- transition-timing-function = 트랜지션 속도
- transition-delay = 트랜지션 지연 시간
- transition = 모든 transition 속성을 한 줄로 표현 가능(프로퍼티/지속 시간/속도/지연 시간)
@keyframes
- 애니메이션 중간의 특정 지점들을 거칠 수 있는 키프레임들을 설정 (중간 동작 제어)
- [@keyframes 애니메이션 명 {CSS 스타일}] 형식으로 정의
- %(0~100) 단위로 애니메이션의 중간 지점 설정 가능 (from(시작)~to(끝)도 가능)
- 같은 %의 속성이 여러개 작성된 경우에는 마지막 순서의 속성이 적용
- !important 적용시 해당 속성이 무시됨
/* animation 속성 입력 방식 */
/* 이름 | 시간 | 속도 | 지연시간 | 반복횟수 | 방향 | 시작/끝 제어 | 진행상태 */
animation: abc 3s ease-in 1s 2 reverse both paused;
/* 이름 | 시간 | 속도 | 지연시간 */
animation: abc 3s linear 1s;
/* 이름 | 시간 */
animation: abc 3s;
@keyframes slidein {
0% {
margin-left: 100%;
width: 300%;
}
30% {
color: green !important;
}
100% {
margin-left: 0%;
width: 100%;
}
}
미디어 쿼리(@media)
- 반응형 디자인 = 다양한 기기의 화면 크기에 맞게 웹사이트를 자동으로 조정하는 기술
- [@media (조건) {CSS 스타일}] 형식으로 정의
- 조건은 max-width/min-width 사용 (최대/최소 크기 => 해상도 조건 지정)
※ HTML meta 태그에서 viewport => 모바일과 PC에서 콘텐츠 크기 일정하게 설정
웹 디바이스별 해상도
- ~320px = 스마트폰(세로)
- 320~768px = 스마트폰(가로), 태블릿(세로)
- 768~1024px = 테블릿(가로)
- 1024px~ = PC
/* PC (해상도 1024px~)*/
@media (min-width:1024px) {}
/* 테블릿 가로 (해상도 768px ~ 1024px)*/
@media (max-width:1024px) {}
/* 모바일 가로, 테블릿 세로 (해상도 320px ~ 768px)*/
@media (max-width:768px) {}
/* 모바일 세로 (해상도 ~320px)*/
@media (max-width:320px) {}
/* and로 조건 여러 개 설정 가능*/
@media (min-width:768px) and (max-width:1023px) {}
'블록체인 기술사업 교육 > CSS' 카테고리의 다른 글
| 블록체인 기술사업 교육 24일차 (0) | 2023.05.08 |
|---|---|
| 블록체인 기술사업 교육 23일차 (0) | 2023.05.04 |
| 블록체인 기술사업 교육 21일차 (0) | 2023.05.02 |
| 블록체인 기술사업 교육 20일차 (0) | 2023.04.28 |
댓글