: hover

 

 

hover는 사용자가

마우스를 특정 대상에 올렸을 때

미리 입력해둔 효과가 나타나게 해주는

기능이 있다.

 

 

 

 

 


 

 

 

사용 방법

 

 

스타일 효과를 주기 원하는

대상 선택자와 함께 표기해 주며

 

 

div:hover { }

a:hover { }

p:hover { }

 

 

식으로 쓰인다.

 

 

 

 

샘플)

div {width:300px; height: 300px; border: 1px solid red;} 
div:hover {border-radius: 300px;}

 

 

 

 

 

 

*hover 선택자 만으로도

애니메이션 효과는 있지만

밋밋하고 투박하다.

 

 

그 밋밋함을 도와 디테일을

넣어주는 속성이 바로

transition!

 

 

 


 

 

 

trandsition

 

 

hover라는 특수 입력 값 없이

transition만을 넣으면

아무런 반응도 나타나지 않기에

 

 

transition은 반드시 hover혹은

기타 다른 상호작용 선택자와

함께 사용해야 한다.

 

 

 

 

 

 

 

사용방법

 

 

효과를 주고자 하는 선택자(selector)를

두 개로 나누어 연달아 작성하고 값을

넣어준다.

 

 

 

 

 

1. 기본 설정

 

transition-property:.

어떤 속성의 효과를 주고 싶은지 설정.

(hover에 설정한 값과동일하게 넣으면 된다)

 

예)

div { transition-property :border-radius; }

div:hover {border-radius: 200px; }

 

 

* 참고

property에는 한 가지 이상의 값이

들어갈 수 있으며 쉼표 (,)로 구분한다.

(아래 샘플 코드 box1 참고)

 

 

 

 

 

2. 추가 transition 속성 옵션

 

1️⃣transition-duration :2s;

효과 시간 설정

 

 

 

2️⃣transition-delay: 1s;

몇 초 후에 실행될지 설정

 

 

 

3️⃣transition-timimg-function: ease;

움직이는 방법 설정, 천천히 가다가 빠르게

똑같이 딱딱하게 등을 설정할 수 있다.

 

값으로는

 

ease:가장 많이 쓰이는 기본값 설정으로

자연스럽게 움직인다

 

ease-in: 천천히 시작 후 가속

 

ease-out: 빠르게 갔다가 천천히 멈춤

 

lenear: 처음부터 끝까지 같은 속도

 

cubic-bezier() : 아직 안 배움

 

 

 

 

 

샘플)

 

.box1 {width:300px; height: 300px; border: 1px solid red;
       transition-property:border-radius, background;
       transition-duration:2s;
       transition-delay:1s;
}
.box1:hover {border-radius:300px; background:purple;}


.box2 {width:200px; height:200px; border:1px solid black;
       position: relative; left:0;
       transition-property:left;
       transition-duration:2s;
       transition-delay:
       transition-timing-function: ease;
}
.box2:hover {left: 300px;}

 

 

 

 


 

 

 

 

실무에서 쓰는 방법

 

 

transition은

위처럼 속성 옵션들을 

하나하나 나열해 쓰지 않고

한 줄로 쓰는 방법이 있다.

 

 

 

 

.box3 {width:300px; height:300px; background:pink;
       transition: background 2s 1s ease, border-radius 3s; }

.box3:hover { background:red; border-radius: 0 300px 0 300px;}

 

 

 

 

 

 

 

 

 

 

transition:

background 2s 1s ease;

무엇을 / 몇 초동안 / 몇 초 뒤에 / 속도

 

순으로 원하는 값을 넣어주자

 

 

 

 

 

 

728x90

'프로그래밍 > CSS' 카테고리의 다른 글

기초) flex 속성 정리  (0) 2020.05.01
기초) animation 속성 정리  (0) 2020.05.01
기초) box-shadow 정리  (0) 2020.04.29
css3 기초) background: gradient 정리  (0) 2020.04.29
기초) background-origin/clip  (0) 2020.04.28

+ Recent posts