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
- 노래 넣기
- 갤러리
- 배경화면 모음
- 웹페이지
- hover
- 자바스크립트
- 에어팟 짝퉁
- 연산자
- animation
- 애니메이션
- 짱구 배경화면 모음
- 백그라운드 재생
- css
- 아이폰
- apple
- 핸드폰 배경화면
- 배경화면
- 에어팟
- Loading
- java
- JavaScript
- acro i8
- 로딩
- 애플
- 기초
- html
- keyframes
- 헤이 시리
- Tag
- 에어팟 2
Archives
- Today
- Total
IT 블로그
CSS Hover 애니메이션 - 1 본문
CSS Hover 애니메이션 - 1
css 호버효과, 가상요소 ::before, ::after를 활용하여
아래와 같은 호버효과를 css로 만들어 보았다.
아래와 같은 호버효과를 css로 만들어 보았다.
만들어보자
이제 직접 만들어 보자 엄청 간단하다.
먼저 호버할 상자를 아래와 같이 만들어주자
그리고 상자에 원하는 css를 적용시켜 보자
자식 요소인 검정색 커버 위치조정을 absolute로 해야하기 때문에
position: relative를 써주자
자식 요소인 검정색 커버 위치조정을 absolute로 해야하기 때문에
position: relative를 써주자
1 2 3 4 5 6 7 8 | .image-box { width: 200px; height: 200px; padding: 20px; background: skyblue; box-sizing: border-box; position: relative; } |
image-box에 ::after를 이용하여 검정색 커버를 씌워고
absolute를 사용하여 위치를 맞춘다.
이때 나중에 추가할 애니메이션을 위해
opacity를 설정해주고, 진행시간을 transition: 0.5s(초) 지정해준다.
absolute를 사용하여 위치를 맞춘다.
이때 나중에 추가할 애니메이션을 위해
opacity를 설정해주고, 진행시간을 transition: 0.5s(초) 지정해준다.
1 2 3 4 5 6 7 8 9 10 11 12 | .image-box::after { content: ""; display: block; position: absolute; width: 100%; height: 100%; background: rgba(0,0,0,.4); left: 0; top: 0; opacity: 0; transition: .5s; } |
이제 image-box호버시 커버가 나오게 css를 지정 해보자
여기까지 하면 아래와 같이 호버시 효과가 나타난다.
이제 .content에 css를 지정해주자.
자식 요소 absolute 사용을 위해 relative적용
그리고 앞서 만든 커버에 가려지지 않도록
z-index를 사용해 위로 올려준다.
자식 요소 absolute 사용을 위해 relative적용
그리고 앞서 만든 커버에 가려지지 않도록
z-index를 사용해 위로 올려준다.
이제 안에 들어갈 흰선(?)을 만들어주자
흰선은 역시 ::before, ::after를 사용한다.
흰선은 역시 ::before, ::after를 사용한다.
가로 세로를 0%로 지정후
.content안에 정가운데로 위치를 옮겨줘야한다.
.content안에 정가운데로 위치를 옮겨줘야한다.
이제 before, after에 border-style과
가로 세로 사이즈를 지정해준다.
after에는 상하선만 그려주고
before는 좌우선을 그려준다
(after의경우 가로로 커지고 before경우 세로로 커지기때문)
가로 세로 사이즈를 지정해준다.
after에는 상하선만 그려주고
before는 좌우선을 그려준다
(after의경우 가로로 커지고 before경우 세로로 커지기때문)
1 2 3 4 5 6 7 8 9 | .content::after { height: 100%; border-style: solid none; } .content::before { width: 100%; border-style: none solid; } |
이제 호버시 이펙트가 나타나게 css를 적어보자
1 2 3 4 5 6 | .image-box:hover .content::after, .image-box:hover .content::before { width: 100%; height: 100%; border-radius: 5px; } |
결과물
- 끝 -
'프로그래밍 > css' 카테고리의 다른 글
CSS 로딩 애니메이션 예제 - 2~3 (0) | 2018.10.03 |
---|---|
CSS 로딩 애니메이션 예제 - 1 (0) | 2018.10.03 |
CSS Hover 애니메이션 1,2,3 소스 정리 (1) | 2018.10.02 |
CSS Hover 애니메이션 - 3 (0) | 2018.10.02 |
CSS Hover Flip 애니메이션 - 2 (0) | 2018.10.02 |