Front-End Journal #01 — CSS 애니메이션의 첫 단계
9175 단어 devjournalanimationscsshtml
CSS 애니메이션
일관된 글쓰기 루틴을 유지하기 위한 나의 전략은 아기 단계를 밟는 것이므로 축척과 번역만 사용하여 간단한 CSS 애니메이션을 만들기 시작했습니다. e 아래의 전체 코드를 볼 수 있으며 더 나은 이해를 위해 몇 가지 개념을 설명하겠습니다.
기본 HTML:
<body>
<div class="wrapper">
<div class="big-circle">
<div class="small-circle"></div>
</div>
</div>
</body>
CSS:
body {
background: linear-gradient(90deg, rgba(122, 180,255,1) 0%, rgba(123,91,217,1) 100%);
}
.wrapper {
margin-top: 200px;
}
.big-circle {
animation: pulse 1.5s alternate infinite;
margin: 0 auto;
border-radius: 50%;
width: 200px;
height: 200px;
background-color: rgba(255, 255,255,.3);
}
.small-circle {
position: relative;
top: 50px;
left: 50px;
border-radius: 50%;
width: 100px;
height: 100px;
background-color: white;
}
.small-circle:hover {
animation: shake .1s alternate infinite;
}
@keyframes pulse {
from {
transform: scale(1);
}
to {
transform: scale(1.5);
}
}
@keyframes shake {
0% {
transform: translate(0%);
}
25%, 75% {
transform: translateY(1%);
}
50%, 100% {
transform: translateX(1%);
}
}
그리고 아름다운 결과:
작동 방식
여기에서 초점을 맞추는 것은 이 두 가지 애니메이션이 어떻게 작동하는지 보여주는 것입니다. 즉, 나머지 HTML 및 CSS는 다른 블로그 게시물의 주제가 될 수 있습니다.
MDN에 따르면:
CSS 애니메이션을 사용하면 하나의 CSS 스타일 구성에서 다른 구성으로 애니메이션 전환이 가능합니다. 애니메이션은 두 가지 구성 요소, CSS 애니메이션을 설명하는 스타일, 애니메이션 스타일의 시작 및 종료 상태를 나타내는 키프레임 세트, 가능한 중간 웨이포인트로 구성됩니다.
이 두 가지 구성 요소를 살펴보겠습니다.
CSS 애니메이션을 설명하는 스타일
우선, 우리는 애니메이션의 스타일을 설정해야 하며 이것이 제가 이 두 줄에서 한 것입니다.
여기:
animation: pulse 1.5s alternate infinite;
그리고 여기:
animation: shake .1s alternate infinite;
애니메이션을 적용하고 싶은 요소를 선택했습니다. 이 경우에는 큰 원과 작은 원(호버링 상태)을 선택하고 속기 버전 애니메이션을 사용하여 애니메이션의 이름, 지속 시간, 방향 및 반복 횟수를 구성했습니다. .
그러나 아래에서 볼 수 있듯이 완전한 버전을 작성할 수 있습니다.
animation-name: pulse; // or shake
animation-duration: 1.5s; // or .1s
animation-direction: alternate;
animation-iteration-count: infinite;
이러한 이름은 자명하지만 애니메이션 방향에서 특히 살펴보겠습니다. 이 속성은 애니메이션이 앞으로 재생되어야 하는지, 뒤로 재생되어야 하는지 또는 시퀀스 재생 사이에서 앞뒤로 번갈아 재생되어야 하는지 여부를 설정합니다. 이 예에서는 애니메이션이 각 주기의 방향을 반대로 하고 첫 번째 반복이 앞으로 재생됨을 나타내는 대체를 사용했습니다. 더 확인하실 수 있습니다here .
키프레임
좋습니다. 하지만 애니메이션은 어디에 있습니까? 애니메이션 시퀀스를 따라 키프레임(또는 웨이포인트)에 대한 스타일을 정의하여 CSS 애니메이션 시퀀스의 중간 단계를 제어하는 CSS@keyframes를 사용했습니다. 두 애니메이션에서 볼 수 있듯이 from/to 또는 백분율을 사용하여 애니메이션 과정을 따라 필요한 키프레임 수를 설정할 수 있습니다.
마지막으로 transform , scale , translate 및 translateX 과 함께 translateY 함수를 사용하여 전체 개체가 항상 확장 및 축소되는 최종 애니메이션을 빌드했습니다. 호버 상태에 있으면 흔들기 애니메이션이 활성화됩니다.
나는 당신이 그것을 즐겼기를 바랍니다! ;)
Reference
이 문제에 관하여(Front-End Journal #01 — CSS 애니메이션의 첫 단계), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/pcosvaz/front-end-journal-01-first-steps-with-css-animations-1bl4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<body>
<div class="wrapper">
<div class="big-circle">
<div class="small-circle"></div>
</div>
</div>
</body>
body {
background: linear-gradient(90deg, rgba(122, 180,255,1) 0%, rgba(123,91,217,1) 100%);
}
.wrapper {
margin-top: 200px;
}
.big-circle {
animation: pulse 1.5s alternate infinite;
margin: 0 auto;
border-radius: 50%;
width: 200px;
height: 200px;
background-color: rgba(255, 255,255,.3);
}
.small-circle {
position: relative;
top: 50px;
left: 50px;
border-radius: 50%;
width: 100px;
height: 100px;
background-color: white;
}
.small-circle:hover {
animation: shake .1s alternate infinite;
}
@keyframes pulse {
from {
transform: scale(1);
}
to {
transform: scale(1.5);
}
}
@keyframes shake {
0% {
transform: translate(0%);
}
25%, 75% {
transform: translateY(1%);
}
50%, 100% {
transform: translateX(1%);
}
}
여기에서 초점을 맞추는 것은 이 두 가지 애니메이션이 어떻게 작동하는지 보여주는 것입니다. 즉, 나머지 HTML 및 CSS는 다른 블로그 게시물의 주제가 될 수 있습니다.
MDN에 따르면:
CSS 애니메이션을 사용하면 하나의 CSS 스타일 구성에서 다른 구성으로 애니메이션 전환이 가능합니다. 애니메이션은 두 가지 구성 요소, CSS 애니메이션을 설명하는 스타일, 애니메이션 스타일의 시작 및 종료 상태를 나타내는 키프레임 세트, 가능한 중간 웨이포인트로 구성됩니다.
이 두 가지 구성 요소를 살펴보겠습니다.
CSS 애니메이션을 설명하는 스타일
우선, 우리는 애니메이션의 스타일을 설정해야 하며 이것이 제가 이 두 줄에서 한 것입니다.
여기:
animation: pulse 1.5s alternate infinite;
그리고 여기:
animation: shake .1s alternate infinite;
애니메이션을 적용하고 싶은 요소를 선택했습니다. 이 경우에는 큰 원과 작은 원(호버링 상태)을 선택하고 속기 버전 애니메이션을 사용하여 애니메이션의 이름, 지속 시간, 방향 및 반복 횟수를 구성했습니다. .
그러나 아래에서 볼 수 있듯이 완전한 버전을 작성할 수 있습니다.
animation-name: pulse; // or shake
animation-duration: 1.5s; // or .1s
animation-direction: alternate;
animation-iteration-count: infinite;
이러한 이름은 자명하지만 애니메이션 방향에서 특히 살펴보겠습니다. 이 속성은 애니메이션이 앞으로 재생되어야 하는지, 뒤로 재생되어야 하는지 또는 시퀀스 재생 사이에서 앞뒤로 번갈아 재생되어야 하는지 여부를 설정합니다. 이 예에서는 애니메이션이 각 주기의 방향을 반대로 하고 첫 번째 반복이 앞으로 재생됨을 나타내는 대체를 사용했습니다. 더 확인하실 수 있습니다here .
키프레임
좋습니다. 하지만 애니메이션은 어디에 있습니까? 애니메이션 시퀀스를 따라 키프레임(또는 웨이포인트)에 대한 스타일을 정의하여 CSS 애니메이션 시퀀스의 중간 단계를 제어하는 CSS@keyframes를 사용했습니다. 두 애니메이션에서 볼 수 있듯이 from/to 또는 백분율을 사용하여 애니메이션 과정을 따라 필요한 키프레임 수를 설정할 수 있습니다.
마지막으로 transform , scale , translate 및 translateX 과 함께 translateY 함수를 사용하여 전체 개체가 항상 확장 및 축소되는 최종 애니메이션을 빌드했습니다. 호버 상태에 있으면 흔들기 애니메이션이 활성화됩니다.
나는 당신이 그것을 즐겼기를 바랍니다! ;)
Reference
이 문제에 관하여(Front-End Journal #01 — CSS 애니메이션의 첫 단계), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/pcosvaz/front-end-journal-01-first-steps-with-css-animations-1bl4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)