일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JDK
- 이벤트
- es6
- for문
- 유뷰브 올리버쌤
- 한큐에자바
- 자바
- Step2
- Event
- web
- array
- 유튜브 올리버쌤
- 한큐
- java
- continue문
- position
- 삼항연산자
- javascript
- math
- hanq
- 이클립스
- 자바스크립트
- break문
- spread operator
- 전자정부프레임워크
- Youtube 올리버쌤
- 취업반
- egov
- 이벤트핸들러
- 올리버쌤
- Today
- Total
호다닥
CSS state / Transition 본문
CSS State
Transition
transition-delay: 1s; → 시간을 지연시키는 효과가 있다.
transition-timing-function: 장면을 전환할 때 장면전환의 속도가 균일할 수도 있지만, 경우에 따라 균일하지 않게 장면전활을 시키고 싶을때도 있을 수 있다. 장면전환을 customizing할 수 있는 기능이다. 기본값은 ease이다.
1. transform
transform 속성은 block level 혹은 inline-block element 일 때만 동작한다.
transform: rotate(20deg) 는 해당 박스모델을 20도 회전시키겠다는 의미이다.
transform에는 rotate뿐만 아니라 matrix, translate, translateX, translateY, scale, skew 등이 있다.
transform과 transition을 중복하여 다양한 효과를 표현할 수 있다.
** scaleX와 scaleY 등 transform을 중복해서 사용하고 싶다면 한 줄에 같이 코딩해야한다.
위 사이트에 가면 여러가지 tranform 값에 따른 변화를 확인할 수 있다.
2. ease-in-out
ease-in-out은 스르륵 적용되는 애니메이션이다. 이제 .box에 hover되면 5초 후에 천천히 배경색이 변한다.
배경색 뿐만 아니라 1개 이상의 설정값을 변경하고 싶다면 background-color 대신 all을 써주고, 새로 설정값을 적용시켜주면 된다.
transition은 어떤 state가 바뀔 때 적용되는 것으로, state에는 hover, active, focus, visited가 있다.
3. animation
tranform, transition 등의 효과를 state와 무관하게 계속 발생시키고 싶다면 animation을 사용하면 된다.
@keyframes 는 CSS에게 애니메이션을 생성했음을 알려준다. @keyframes 뒤에 애니메이션의 이름을 적어주면 된다.
그리고 from과 to 사이에 초기 property와 애니메이션을 적용할 property 값을 입력하면 된다.
만약 애니메이션을 계속 반복하고 싶다면 'infinite'를 삽입하면 된다.
이처럼 코드를 작성하면 0~50% 사이에는 커져서 회전하고, 50~100% 사이에는 다시 원래 모습으로 돌아갔다가 다시 변화하면서 계속 반복된다.
4. media Query
미디어 쿼리의 문법
@media not | only 미디어 타입 and (미디어 특징) {
CSS 소스코드;
}
미디어 타입
all : 모든 장치의 타입에 적용
screen : 컴퓨터, 태블릿, 스마트 폰 등에 적용
speech : 스크린 리더기에 적용
print : 프린터기에 적용
미디어 특징
min-device-width : 출력 장치 자체의 너비 하한선을 설정
min-color : 출력 장치의 색상 구성요소 당 비트의 수의 하한선을 설정
orientation : 화면이 세로 모드 인지, 가로 모드인지 설정
min-width: (number) number이상이면 효과가 적용된다.
max-width: (number) number이하이면 효과가 적용된다.
위 코드에 따르면 화면의 너비는 최소 320px에서 최대 640px이다.
*** 미디어쿼리는 화면이 작을수록 아래에 위치해야 우선순위가 높아져 화면에 적용된다.
'HTML & CSS' 카테고리의 다른 글
CSS - grapic (0) | 2018.07.11 |
---|---|
CSS - layout ( flex, float ) (0) | 2018.07.10 |
CSS basics - layout (0) | 2018.07.09 |
CSS flexbox (0) | 2018.06.27 |
CSS display property (0) | 2018.06.27 |