Heim Web-Frontend CSS-Tutorial Wie kann ich mit reinem CSS die Pausen- und Wiedergabeeffekte von CSS-Animationen erzielen? Einführung in die Animation-Play-State-Eigenschaft (ausführliche Erklärung)

Wie kann ich mit reinem CSS die Pausen- und Wiedergabeeffekte von CSS-Animationen erzielen? Einführung in die Animation-Play-State-Eigenschaft (ausführliche Erklärung)

Sep 15, 2018 pm 03:44 PM
animation css3

CSS-Animationen mit reinen CSS-Methoden anhalten oder abspielen. Scheint es unmöglich zu sein, dies zu erreichen, oder ist es eine sehr mühsame Implementierungsmethode, für deren Umsetzung viele CSS-Stile erforderlich sind? Tatsächlich ist dies nicht der Fall. In CSS3-Animationen gibt es eine solche Eigenschaft, die Animationen anhalten und abspielen kann. In diesem Kapitel erfahren Sie, wie Sie mit reinem CSS die Pausen- und Wiedergabeeffekte von CSS-Animationen erzielen. Einführung in die Animation-Play-State-Eigenschaft (ausführliche Erklärung) . Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

animation-play-state-Attribut

 animation-play-state: paused | running;
Nach dem Login kopieren

animation-play-state: Das Attribut definiert, ob eine Animation ausgeführt oder angehalten wird. Sie können es abfragen, um festzustellen, ob die Animation ausgeführt wird. Darüber hinaus kann der Wert so eingestellt werden, dass die Wiedergabe der Animation angehalten und fortgesetzt wird.

Mit Hilfe von Javascript können wir die Ausführung und Wiedergabe von CSS-Animationen steuern. Nachfolgend sind einige Schlüsselcodes aufgeführt:

HTML-Code:

<div class="btn">stop</div> 
<div class="animation"></div>
Nach dem Login kopieren

CSS-Code:


.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;
    }
}
Nach dem Login kopieren

js-Code:

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;;
    }
    
});
Nach dem Login kopieren

Rendering (während der Wiedergabe und nach dem Stoppen der Wiedergabe):

Wie kann ich mit reinem CSS die Pausen- und Wiedergabeeffekte von CSS-Animationen erzielen? Einführung in die Animation-Play-State-Eigenschaft (ausführliche Erklärung)Wie kann ich mit reinem CSS die Pausen- und Wiedergabeeffekte von CSS-Animationen erzielen? Einführung in die Animation-Play-State-Eigenschaft (ausführliche Erklärung)

Reine CSS-Implementierung

Lassen Sie uns untersuchen, ob dies mit reinem CSS erreicht werden kann.

Implementierung der Hover-Pseudoklasse

Verwenden Sie die Hover-Pseudoklasse, um die Pause des Animationsstils zu steuern, wenn sich die Maus über der Schaltfläche befindet.

Die Schlüsselcodes lauten wie folgt:

HTML-Code:

<div class="btn stop">stop</div> 
<div class="animation"></div>
Nach dem Login kopieren

CSS-Code:


.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;
}
Nach dem Login kopieren

Rendering:

Wie kann ich mit reinem CSS die Pausen- und Wiedergabeeffekte von CSS-Animationen erzielen? Einführung in die Animation-Play-State-Eigenschaft (ausführliche Erklärung)Wie kann ich mit reinem CSS die Pausen- und Wiedergabeeffekte von CSS-Animationen erzielen? Einführung in die Animation-Play-State-Eigenschaft (ausführliche Erklärung)

Natürlich ist diese Methode nicht intelligent genug. Wenn Sie die Freiheit der Maus loslassen, klicken Sie einmal, um zu pausieren, und klicken Sie dann erneut, um abzuspielen. Gibt es andere Methoden?

Überprüfte Pseudoklassenimplementierung

Der vorherige Artikel „Interessantes CSS-Thema (8): Reine CSS-Navigationsleisten-Tab-Umschaltlösung“ ist auch As erwähnt, unter Verwendung der geprüften Pseudoklasse des Radio-Tags sowie der Implementierung von reinem CSS zur Erfassung von Klickereignissen.

Und Sie können einige CSS-Stile mithilfe des angeklickten Elements steuern. Die Implementierung ist wie folgt:

HTML-Code:


<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>
Nach dem Login kopieren

CSS-Code:


.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;
}
Nach dem Login kopieren

Wir hoffen, dass die beiden Radios #stoppen und #spielen Wenn darauf geklickt wird, weisen Sie dem .animation-Element „animation-play-state: paused“ bzw. „animation-play-state: running“ zu. Da nur einer der beiden wirksam werden kann, muss den beiden Radio-Tags das gleiche Namensattribut zugewiesen werden.

Rendering:

Wie kann ich mit reinem CSS die Pausen- und Wiedergabeeffekte von CSS-Animationen erzielen? Einführung in die Animation-Play-State-Eigenschaft (ausführliche Erklärung)Wie kann ich mit reinem CSS die Pausen- und Wiedergabeeffekte von CSS-Animationen erzielen? Einführung in die Animation-Play-State-Eigenschaft (ausführliche Erklärung)

Im obigen Beispiel wird reines CSS verwendet, um die CSS-Animation anzuhalten und abzuspielen.

Natürlich gibt es auch andere Methoden, z. B. das Ersetzen von Radio durch ein Kontrollkästchen oder die Verwendung des :target-Pseudoklassenselektors, um den gleichen Effekt wie oben zu erzielen. Wenn Sie interessiert sind, können Sie es ausprobieren.

Das obige ist der detaillierte Inhalt vonWie kann ich mit reinem CSS die Pausen- und Wiedergabeeffekte von CSS-Animationen erzielen? Einführung in die Animation-Play-State-Eigenschaft (ausführliche Erklärung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie erzielt man mit reinem CSS3 einen Welleneffekt? (Codebeispiel) Wie erzielt man mit reinem CSS3 einen Welleneffekt? (Codebeispiel) Jun 28, 2022 pm 01:39 PM

Wie erzielt man mit reinem CSS3 einen Welleneffekt? In diesem Artikel erfahren Sie, wie Sie mit SVG- und CSS-Animationen Welleneffekte erstellen.

So beschleunigen Sie Animationseffekte in Windows 11: 2 Methoden erklärt So beschleunigen Sie Animationseffekte in Windows 11: 2 Methoden erklärt Apr 24, 2023 pm 04:55 PM

Als Microsoft Windows 11 auf den Markt brachte, brachte es viele Änderungen mit sich. Eine der Änderungen ist eine Erhöhung der Anzahl der Animationen der Benutzeroberfläche. Einige Benutzer möchten die Darstellung der Dinge ändern und müssen einen Weg finden, dies zu tun. Durch Animationen fühlt es sich besser und benutzerfreundlicher an. Animationen nutzen visuelle Effekte, um den Computer attraktiver und reaktionsfähiger aussehen zu lassen. Einige von ihnen enthalten nach einigen Sekunden oder Minuten verschiebbare Menüs. Es gibt viele Animationen auf Ihrem Computer, die die PC-Leistung beeinträchtigen, ihn verlangsamen und Ihre Arbeit beeinträchtigen können. In diesem Fall müssen Sie die Animation deaktivieren. In diesem Artikel werden verschiedene Möglichkeiten vorgestellt, wie Benutzer die Geschwindigkeit ihrer Animationen auf dem PC verbessern können. Sie können die Änderungen mit dem Registrierungseditor oder einer von Ihnen ausgeführten benutzerdefinierten Datei übernehmen. So verbessern Sie Animationen in Windows 11

So verwenden Sie CSS, um den rotierenden Hintergrundanimationseffekt von Elementen zu erzielen So verwenden Sie CSS, um den rotierenden Hintergrundanimationseffekt von Elementen zu erzielen Nov 21, 2023 am 09:05 AM

Wie man mit CSS rotierende Hintergrundbildanimationseffekte von Elementen implementiert, kann die visuelle Attraktivität und das Benutzererlebnis von Webseiten erhöhen. In diesem Artikel wird erläutert, wie Sie mithilfe von CSS den rotierenden Hintergrundanimationseffekt von Elementen erzielen, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir ein Hintergrundbild vorbereiten, das ein beliebiges Bild sein kann, beispielsweise ein Bild der Sonne oder eines elektrischen Ventilators. Speichern Sie das Bild und nennen Sie es „bg.png“. Erstellen Sie als Nächstes eine HTML-Datei, fügen Sie der Datei ein div-Element hinzu und legen Sie es auf fest

Verwenden Sie CSS geschickt, um verschiedene seltsam geformte Schaltflächen zu realisieren (mit Code). Verwenden Sie CSS geschickt, um verschiedene seltsam geformte Schaltflächen zu realisieren (mit Code). Jul 19, 2022 am 11:28 AM

Dieser Artikel zeigt Ihnen, wie Sie mithilfe von CSS auf einfache Weise verschiedene seltsam geformte Schaltflächen realisieren können, die häufig vorkommen. Ich hoffe, dass er Ihnen hilfreich sein wird!

So verstecken Sie Elemente in CSS, ohne Platz zu beanspruchen So verstecken Sie Elemente in CSS, ohne Platz zu beanspruchen Jun 01, 2022 pm 07:15 PM

Zwei Methoden: 1. Fügen Sie mit dem Anzeigeattribut einfach den Stil „display:none;“ zum Element hinzu. 2. Verwenden Sie die Attribute „position“ und „top“, um die absolute Positionierung des Elements festzulegen, um das Element auszublenden. Fügen Sie dem Element einfach den Stil „position:absolute;top:-9999px;“ hinzu.

So implementieren Sie Spitzenränder in CSS3 So implementieren Sie Spitzenränder in CSS3 Sep 16, 2022 pm 07:11 PM

In CSS können Sie das Attribut „border-image“ verwenden, um einen Spitzenrand zu erzielen. Das Attribut „border-image“ kann Bilder zum Erstellen von Rändern verwenden, d. h. zum Hinzufügen eines Hintergrundbilds zum Rand. Sie müssen lediglich das Hintergrundbild als Spitzenstil angeben Bildrandbreite nach innen. Ob der Anfang wiederholt wird;".

Es zeigt sich, dass Textkarussell und Bildkarussell auch mit reinem CSS realisierbar sind! Es zeigt sich, dass Textkarussell und Bildkarussell auch mit reinem CSS realisierbar sind! Jun 10, 2022 pm 01:00 PM

Wie erstelle ich ein Textkarussell und ein Bildkarussell? Das erste, woran jeder denkt, ist die Verwendung von js. Tatsächlich können Textkarussell und Bildkarussell auch einen Blick auf die Implementierungsmethode werfen.

So vergrößern Sie das Bild durch Klicken mit der Maus in CSS3 So vergrößern Sie das Bild durch Klicken mit der Maus in CSS3 Apr 25, 2022 pm 04:52 PM

Implementierungsmethode: 1. Verwenden Sie den Selektor „:active“, um den Status des Mausklicks auf das Bild auszuwählen. 2. Verwenden Sie das Transformationsattribut und die Funktion „scale()“, um den Bildvergrößerungseffekt zu erzielen. Die Syntax „img:active {transform : Skala(x-Achsen-Vergrößerung, y-Achsen-Vergrößerung);}".

See all articles