웹 프론트엔드 CSS 튜토리얼 CSS 애니메이션의 일시 정지 및 재생 효과를 얻기 위해 순수 CSS를 사용하는 방법은 무엇입니까? animation-play-state 속성 소개(자세한 설명)

CSS 애니메이션의 일시 정지 및 재생 효과를 얻기 위해 순수 CSS를 사용하는 방법은 무엇입니까? animation-play-state 속성 소개(자세한 설명)

Sep 15, 2018 pm 03:44 PM
animation css3

순수한 CSS 메서드를 사용하여 CSS 애니메이션을 일시 중지하거나 재생하세요. 달성이 불가능해야 할 것 같나요? 아니면 달성할 수 있더라도 달성하려면 많은 CSS 스타일이 필요한 매우 귀찮은 구현 방법입니다. 사실 CSS3 애니메이션에는 애니메이션을 일시 정지하고 재생할 수 있는 속성이 있습니다. 이 장에서는 순수한 CSS를 사용하여 CSS 애니메이션의 일시 중지 및 재생 효과를 얻는 방법을 소개합니다. animation-play-state 속성 소개(자세한 설명) . 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

animation-play-state 속성

 animation-play-state: paused | running;
로그인 후 복사

animation-play-state: 속성은 애니메이션이 실행 중인지 일시 중지되었는지 여부를 정의합니다. 애니메이션이 실행 중인지 확인하기 위해 쿼리할 수 있습니다. 또한 애니메이션 재생을 일시 중지하고 다시 시작하도록 해당 값을 설정할 수 있습니다.

Javascript의 도움으로 CSS 애니메이션의 실행 및 재생을 제어할 수 있습니다. 일부 주요 코드는 다음과 같습니다.

html 코드:

<div class="btn">stop</div> 
<div class="animation"></div>
로그인 후 복사

css 코드:

.animation {
    width: 100px;
    height: 100px;
    margin: 50px auto;
    background: deeppink;
    animation: move 2s linear infinite alternate;
}

@keyframes move {
    0% {
        transform: translate(-100px, 0);
    }
    100% {
        transform: translate(100px, 0);
    }
}

.btn {
    width: 50px;
    margin: 10px auto;
    text-align: center;
    border:1px solid #ddd;
    padding: 10px;
    border-radius: 5px;
    cursor:pointer;
    
    &:hover {
        background: #ddd;
        color: #333;
    }
    
    &:active {
        background: #aaa;
    }
}
로그인 후 복사

js 코드:

document.querySelector(&#39;.btn&#39;).addEventListener(&#39;click&#39;, function() {
    let btn = document.querySelector(&#39;.btn&#39;);
    let elem = document.querySelector(&#39;.animation&#39;);
    let state = elem.style[&#39;animationPlayState&#39;];
    
    if(state === &#39;paused&#39;) {
        elem.style[&#39;animationPlayState&#39;] = &#39;running&#39;;
        btn.innerText = &#39;stop&#39;;
    } else {
        elem.style[&#39;animationPlayState&#39;] = &#39;paused&#39;;
        btn.innerText = &#39;play&#39;;
    }
    
});
로그인 후 복사

렌더링 중 재생) 및 재생 중지 후):

CSS 애니메이션의 일시 정지 및 재생 효과를 얻기 위해 순수 CSS를 사용하는 방법은 무엇입니까? animation-play-state 속성 소개(자세한 설명)CSS 애니메이션의 일시 정지 및 재생 효과를 얻기 위해 순수 CSS를 사용하는 방법은 무엇입니까? animation-play-state 속성 소개(자세한 설명)

순수 CSS 구현

순수 CSS를 사용하여 구현할 수 있는지 살펴보겠습니다.

hover 의사 클래스 구현

hover 의사 클래스를 사용하여 마우스가 버튼 위에 있을 때 애니메이션 스타일의 일시 중지를 제어합니다.

키 코드는 다음과 같습니다.

html 코드:

<div class="btn stop">stop</div> 
<div class="animation"></div>
로그인 후 복사

css 코드:

.animation {
    width: 100px;
    height: 100px;
    margin: 50px auto;
    background: deeppink;
    animation: move 2s linear infinite alternate;
}

input {
    display: none;
}

@keyframes move {
    0% {
        transform: translate(-100px, 0);
    }
    100% {
        transform: translate(100px, 0);
    }
}

.btn {
    width: 50px;
    margin: 10px auto;
    text-align: center;
    border:1px solid #ddd;
    padding: 10px;
    border-radius: 5px;
    cursor:pointer;
    
    &:hover {
        background: #ddd;
        color: #333;
    }
    
    &:active {
        background: #aaa;
    }
}

.stop:hover ~ .animation {
    animation-play-state: paused;
}
로그인 후 복사

Rendering:

CSS 애니메이션의 일시 정지 및 재생 효과를 얻기 위해 순수 CSS를 사용하는 방법은 무엇입니까? animation-play-state 속성 소개(자세한 설명)CSS 애니메이션의 일시 정지 및 재생 효과를 얻기 위해 순수 CSS를 사용하는 방법은 무엇입니까? animation-play-state 속성 소개(자세한 설명)

물론, 이 방법은 마우스의 자유를 해방한다면 충분히 스마트하지 않습니다. , 한 번 클릭하면 일시 정지되고 다시 클릭하면 재생됩니다. 다른 방법이 있나요?

확인된 의사 클래스 구현

이전 기사 "흥미로운 CSS 주제(8): 순수 CSS 탐색 모음 탭 전환 솔루션"에서도 라디오 태그의 확인된 의사 클래스를 사용하는 방법에 대해 설명했습니다. 클릭 이벤트를 캡처하려면 순수 CSS를 구현하세요.

그리고 클릭한 요소를 사용하여 일부 CSS 스타일을 제어할 수 있습니다. 구현은 다음과 같습니다:

html 코드:

<input id="stop" type="radio" name="playAnimation"/>
<input id="play" type="radio" name="playAnimation"/>

<div class="box">
    <label for="stop">
        <div class="btn">stop</div>
    </label>
    <label for="play">
        <div class="btn">play</div>
    </label>
</div>

<div class="animation"></div>
로그인 후 복사

css 코드:

.animation {
    width: 100px;
    height: 100px;
    margin: 50px auto;
    background: deeppink;
    animation: move 2s linear infinite alternate;
}

input {
    display: none;
}

@keyframes move {
    0% {
        transform: translate(-100px, 0);
    }
    100% {
        transform: translate(100px, 0);
    }
}

.btn {
    width: 50px;
    margin: 10px auto;
    text-align: center;
    border:1px solid #ddd;
    padding: 10px;
    border-radius: 5px;
    cursor:pointer;
    
    &:hover {
        background: #ddd;
        color: #333;
    }
    
    &:active {
        background: #aaa;
    }
}

#stop:checked ~ .animation {
    animation-play-state: paused;
}

#play:checked ~ .animation {
    animation-play-state: running;
}
로그인 후 복사

두 라디오 #stop 및 #play를 클릭하면 .animation 요소에 animation-play-state가 할당되기를 바랍니다. 각각 일시 중지됨 또는 애니메이션 -play-state: running . 그리고 둘 중 하나만 적용될 수 있으므로 두 라디오 태그에 동일한 이름 속성을 부여해야 합니다.

렌더링:

CSS 애니메이션의 일시 정지 및 재생 효과를 얻기 위해 순수 CSS를 사용하는 방법은 무엇입니까? animation-play-state 속성 소개(자세한 설명)CSS 애니메이션의 일시 정지 및 재생 효과를 얻기 위해 순수 CSS를 사용하는 방법은 무엇입니까? animation-play-state 속성 소개(자세한 설명)

위의 예에서는 CSS 애니메이션을 일시 중지하고 재생하기 위해 순수 CSS 메서드가 구현되었습니다.

물론 라디오를 체크박스로 바꾸거나 :target 의사 클래스 선택기를 사용하여 위와 동일한 효과를 얻는 등의 다른 방법도 있습니다. 관심이 있다면 시도해 볼 수 있습니다.

위 내용은 CSS 애니메이션의 일시 정지 및 재생 효과를 얻기 위해 순수 CSS를 사용하는 방법은 무엇입니까? animation-play-state 속성 소개(자세한 설명)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

순수한 CSS3로 물결 효과를 얻는 방법은 무엇입니까? (코드 예) 순수한 CSS3로 물결 효과를 얻는 방법은 무엇입니까? (코드 예) Jun 28, 2022 pm 01:39 PM

순수한 CSS3로 물결 효과를 얻는 방법은 무엇입니까? 이 기사에서는 SVG 및 CSS 애니메이션을 사용하여 물결 효과를 만드는 방법을 소개합니다. 도움이 되길 바랍니다.

Windows 11에서 애니메이션 효과 속도를 높이는 방법: 2가지 방법 설명 Windows 11에서 애니메이션 효과 속도를 높이는 방법: 2가지 방법 설명 Apr 24, 2023 pm 04:55 PM

Microsoft가 Windows 11을 출시하면서 많은 변화가 생겼습니다. 변경 사항 중 하나는 사용자 인터페이스 애니메이션 수가 증가한 것입니다. 일부 사용자는 사물이 나타나는 방식을 변경하고 싶어하며 이를 수행할 방법을 찾아야 합니다. 애니메이션을 사용하면 더 좋고 사용자 친화적인 느낌이 듭니다. 애니메이션은 시각 효과를 사용하여 컴퓨터를 더욱 매력적이고 반응성이 뛰어나게 만듭니다. 그 중 일부는 몇 초 또는 몇 분 후에 슬라이딩 메뉴를 포함합니다. 컴퓨터에는 PC 성능에 영향을 미치고 속도를 저하시키며 작업을 방해할 수 있는 애니메이션이 많이 있습니다. 이 경우 애니메이션을 꺼야 합니다. 이 문서에서는 사용자가 PC에서 애니메이션 속도를 향상할 수 있는 몇 가지 방법을 소개합니다. 레지스트리 편집기나 실행하는 사용자 지정 파일을 사용하여 변경 사항을 적용할 수 있습니다. Windows 11에서 애니메이션을 개선하는 방법

CSS를 사용하여 요소의 회전 배경 애니메이션 효과를 얻는 방법 CSS를 사용하여 요소의 회전 배경 애니메이션 효과를 얻는 방법 Nov 21, 2023 am 09:05 AM

CSS를 사용하여 요소의 회전 배경 이미지 애니메이션 효과를 구현하는 방법 배경 이미지 애니메이션 효과는 웹 페이지의 시각적 매력과 사용자 경험을 향상시킬 수 있습니다. 이 문서에서는 CSS를 사용하여 요소의 회전 배경 애니메이션 효과를 얻는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 먼저 배경 이미지를 준비해야 합니다. 배경 이미지는 태양 사진이나 선풍기 등 원하는 사진이면 됩니다. 이미지를 저장하고 이름을 "bg.png"로 지정합니다. 다음으로, HTML 파일을 생성하고 파일에 div 요소를 추가하여 다음과 같이 설정합니다.

CSS를 능숙하게 사용하여 다양한 이상한 모양의 버튼 구현(코드 포함) CSS를 능숙하게 사용하여 다양한 이상한 모양의 버튼 구현(코드 포함) Jul 19, 2022 am 11:28 AM

이 글에서는 CSS를 활용하여 자주 나타나는 다양한 모양의 버튼을 쉽게 구현하는 방법을 알려드리겠습니다. 도움이 되셨으면 좋겠습니다.

공간을 차지하지 않고 CSS에서 요소를 숨기는 방법 공간을 차지하지 않고 CSS에서 요소를 숨기는 방법 Jun 01, 2022 pm 07:15 PM

두 가지 방법: 1. 표시 속성을 사용하여 요소에 "display:none;" 스타일을 추가합니다. 2. 요소를 숨기려면 위치 및 상단 속성을 사용하여 요소의 절대 위치를 설정하세요. 요소에 "position:absolute;top:-9999px;" 스타일을 추가하세요.

CSS3에서 레이스 테두리를 구현하는 방법 CSS3에서 레이스 테두리를 구현하는 방법 Sep 16, 2022 pm 07:11 PM

CSS에서는 border-image 속성을 사용하여 레이스 테두리를 만들 수 있습니다. border-image 속성은 이미지를 사용하여 테두리를 생성할 수 있습니다. 즉, 배경 이미지를 레이스 스타일로 지정하기만 하면 됩니다. "border-image: url(이미지 경로)은 이미지 테두리 너비가 안쪽으로 반복되는지 여부입니다.

텍스트 캐러셀과 이미지 캐러셀도 순수 CSS를 사용하여 구현할 수 있다는 것이 밝혀졌습니다! 텍스트 캐러셀과 이미지 캐러셀도 순수 CSS를 사용하여 구현할 수 있다는 것이 밝혀졌습니다! Jun 10, 2022 pm 01:00 PM

텍스트 회전판과 이미지 회전판을 만드는 방법은 무엇입니까? 누구나 가장 먼저 생각하는 것은 js를 사용할지 여부입니다. 실제로 순수 CSS를 사용하여 구현하는 방법도 모두에게 도움이 되기를 바랍니다.

CSS3에서 마우스를 클릭하여 이미지를 확대하는 방법 CSS3에서 마우스를 클릭하여 이미지를 확대하는 방법 Apr 25, 2022 pm 04:52 PM

구현 방법: 1. ":active" 선택기를 사용하여 그림에 대한 마우스 클릭 상태를 선택합니다. 2. 변환 속성과 scale() 함수를 사용하여 그림 확대 효과를 얻습니다. 구문은 "img:active {transform; : scale(x축 배율, y축 배율);}".

See all articles