CSS 애니메이션 속성에 대하여 알아보자-2

배성현·2021년 9월 7일
0

1)학습한 내용
CSS 애니메이션 속성에 대하여 알아보자-2
Stylie = 코딩으로 구현하기 어려운 애니메이션은 여기로 해서 하기
running : 브라우저 접속시 애니메이션동작을 시키겠다는 의미
paused : 움직임을 멈추겠다는 의미
fill-mode : 애니메이션이 실행 전과 후에 대상에 스타일을 적용하는 방법지정
translateY Y축에만 영향

무브박스
<.!DOCTYPE html>
<.html>
<.head>
<.meta charset="utf-8">
<.link rel="stylesheet" type="text/css" href="css/style.css">

<./head>
<.body>

<.div class="move-box">

<./body>
<./html>

원형의 크기가 바뀌면서 그 안에 잇는 네모박스도 변화가 되는 애니메이션
<.!DOCTYPE html>
<.html>
<.head>
<.meta charset="utf-8">
<.link rel="stylesheet" type="text/css" href="css/style.css">

<./head>
<.body>

<.div class="outer-border">

  <div class="inner-border"></div>

<./body>
<./html>

슈퍼마리오 효과 기능
<.!DOCTYPE html>
<.html>
<.head>
<.meta charset="utf-8">
<.link rel="stylesheet" type="text/css" href="css/style.css">

<./head>
<.body>

<.div class="mario-container">

  <div class="marion-coin"></div>
  <div class="mario-box"></div>

<./body>
<./html>

이미지영역에 마우스 올렸을때 이미지가 확대되는 기능
<.!DOCTYPE html>
<.html>
<.head>
<.meta charset="utf-8">
<.link rel="stylesheet" type="text/css" href="css/style.css">

<./head>
<.body>

<.div class=hover-image>
<img src="https://www.teahub.io/photos/full/323-3230785_hd-ocean-background-free-ocean-background.jpg'>

  <div class="image-info">
     <h2>Title</h2>
     <p>parapragh</p>

<./body>
<./html>

애니메이트CSS
<.!DOCTYPE html>
<.html>
<.head>
<.meta charset="utf-8">

<.link rel="stylesheet" type="text/css" href="css/style.css">

<./head>
<.body>

Example

<./body>
<./html>

style.css
.move-box {
position: relative;
width: 200px
height: 200px;
background-color: red;
animation-name: moveBox;
animation-duration: 4s;
animation-timing-funtion: linear;
animation-delay: 1s;
animation-iteration-count: infinite;
animation-direction: alternate;
animation-play-state: paused;
animation-fill-mode: backwards;
}
@keyframs moveBox {
0% {
background-color: red;
left: 0;
top: 0;
}
25% {
background-color: yellow;
left: 500px;
top: 0px;
}
50% {
background-color: gray;
left: 500px;
top: 500px;
border-radius: 50%;
}
75% {
background-color: blue;
left: 0px;
top: 500px;
}
100% {
background-color: red;
left: 0;
top: 0;
}

원형의 크기가 바뀌면서 그 안에 잇는 네모박스도 변화가 되는 애니메이션
.outer-border {
display: flex;
justfity-content: center;
align-items: center;
width: 200px;
height: 200px;
border: solid 15px red;
border-radius: 50%;
margin: 0 auto;
margin-top: 200px;
animation: outerBorder 2s infinite;
}
@keyframes outerBorder {
0% { border-color: red; transform: scale(1); }
25% { border-color: yellow; transform: scale(1.2); }
50% { border-color: blue; transform: scale(1.3); }
75% { border-color: green; transform: scale(1.2); }
100% { border-color: pink; transform: scale(1); }
}
.inner-border {
box-sizing: border-box;
width: 75px;
height: 75px;
border: 5px solid purple;
animation: innerBorder 2s infinite alternate;
}
@keyframes innerBorder {
0% { transform: rotate(0deg); }
25% { border-color: blue; border-width: 10px; }
50% { border-color: yellow; border-width: 20px; }
75% { border-color: green; border-width: 40px;}
100% { border-color: gray; border-width:5px; transform: rotate(360deg; }
}

슈퍼마리오 효과 기능
.mario-container {
position: relative;
width: 500px;
height: 500px;
border: solid 10px black;
margin: 0 auto;
margin-top: 200px
}
.mario-container .mario-coin {
position: relative;
width: 70px;
beight: 70px;
background-color: yellow;
border-radius: 50%;
margin: 0 auto;
margin-top: 100px;
animation: jumpCoin 0.8s linear infinite alternate;
}
@keyframes jumpCoin {
0% {
transform: translateY(0);
opacity: 1;
}
50% {
transform: translateY(-100px) rotateY(180deg);
opacity: 0;
}
100% {
transform: translateY(-100px) rotateY(360deg);
opacity: 0;
}
}
.mario-container .mario-box {
width: 100px;
beight: 100px;
background-color: blue;
margin: 0 auto;
animation: jumBox 0.5s linear infinite alternate;
}
@keyframes jumpBox {
0% { transform: translateY(0);}
50% { transform: translateY(-10px); }
100% { transform: translateY(0);}
}

이미지영역에 마우스 올렸을때 이미지가 확대되는 기능
.hover-image {
cursor: pointer
overflow: hidden;
position: relative;
width: 400px;
border: solid 10px #000000;
}
.hover-image img {
wigth: 100%;
vertical-align: middle;
transiton: transform 0.3s linear;
}
.hover-image:hover img {
transform: scale(1.3);
}
.hover-image .image-info {
box-sizing: border-box;
position: absolute;
width: 100%;
background-color: rbga(0, 0, 0, 0.5);
padding: 20px;
left: 0;
bottom: -80px;
transition: bottom 0.3 linear;
}
.hover-image:hover .image-info {
bottom: 0;
}
.hover-image .image-info h2,
.hover-image .image-info p {
margin: 0;
padding: 0;
color: #ffffff;
}
.hover-image .image-info h2 {
font-size: 20px;
}
.hover-image .image-info p {
font-size: 15px;
}

애니메이트CSS
.color-red {
color: red;
}
.animate__animated {
margin-top: 200px;
margin-left: 200px

2) 학습내용 중 어려웠던 점
애니메이션 효과를 이해하는게 조금 어려웠어요 효과는 뭐이리 많은지;
3) 해결 방법
이건 그냥 꾸준하게 복습하고 해야할 것 같네요
4) 학습소감
이거 강의들으면서 울고싶었어요 진짜 너무 어렵고 지쳐요

0개의 댓글