


CSS3 realisiert den Effekt der Anzeige mehrerer Elemente in der Seitenproduktion sequence_css3_CSS_web
In CSS3 verwenden wir Animationen in Kombination mit Keyframes, um Elementen verschiedene Animationseffekte hinzuzufügen. In diesem Artikel wird hauptsächlich der Effekt von CSS3 vorgestellt, um die sequentielle Anzeige mehrerer Elemente zu realisieren. Freunde, die sich für CSS3 interessieren und diejenigen, die es benötigen, können sich auf
Wie in der Abbildung gezeigt Bild oben: Bei vielen Event-Promotionen muss häufig ein solcher Animationseffekt in HTML5 verwendet werden. Besonders wenn das Ende des Jahres naht, sind einige Studenten möglicherweise damit beschäftigt, an der Veranstaltungsseite des Unternehmens zu arbeiten. Es kann hilfreich sein, sich eine so kleine Fähigkeit anzueignen.
In CSS3 verwenden wir Animationen in Kombination mit Keyframes, um Elementen verschiedene Animationseffekte hinzuzufügen. Spezifische Animationen werden in Keyframes definiert und in der Animation verwendet. Sie können beispielsweise einen Animationseffekt definieren, der von oben einfliegt.
@keyframes topIn { from { transform: translateY(-50px) } to { transform: translateY(0px) } }
und verwenden Sie Animation durch Animation im Zielelement.
<p class="target topIn"></p> .topIn { animation: topIn 1s ease; }
Auf diese Weise gibt es beim ersten Rendern des Elements im DOM eine Ansicht von oben nach unten Verschiebungsanimationseffekt. Natürlich ist dieser Effekt nicht das, was wir wollen. Oft fügen wir der Animation auch einen Transparenzverlauf von 0 bis 1 hinzu.
@keyframes topIn { from { transform: translateY(-50px); opacity: 0; } to { transform: translateY(0px); opacity: 1; } }
Was sollen wir tun, wenn wir auch das Anzeige-Timing von Elementen steuern möchten? Eine einfachere Möglichkeit besteht darin, einen Klassenstil hinzuzufügen, der die Animation des Zielelements nur dann steuert, wenn Animationseffekte erforderlich sind.
btn.addEventListener('click', function() { document.querySelector('.target').classList.add('topIn'); }, !1);
Aber dabei gibt es ein Problem. Ich glaube, dass Freunde, die es praktiziert haben, dies bereits entdeckt haben. Wir gehen davon aus, dass sich Elemente in einem unsichtbaren Zustand befinden, bevor sie die Szene betreten. Aber allein durch die oben beschriebene Vorgehensweise ist das Element sichtbar, bevor die Animation beginnt. Was ist also zu tun?
Wir können uns leicht vorstellen, dem Element display: none oder visibility: versteckt hinzuzufügen. Aber nach display: none belegt das Element keinen Platz. Wenn dies der Fall ist, führt dies daher zu Verwirrung im Seitenlayout. Bevor wir beginnen, fügen wir dem Element eine neue Klasse hinzu.
.aninode { visibility: hidden; }
und fügen Sie eine neue Klasse hinzu, um das Element anzuzeigen.
.animated .aninode { visibility: visible; }
Die Klasse, die den Animationseffekt steuert, benötigt auch einige Anpassungen im CSS.
.animated .topIn { animation: topIn 1s ease; }
Der Vorteil davon ist, dass wir der Klasse nur eine Animation hinzufügen müssen, um unseren Effekt zu erzielen. InstanzdemoDer vollständige Code lautet wie folgt:
<p class="container"> <p class="target aninode leftIn"></p> <button class="btn show">show</button> <button class="btn hide">hide</button> </p> .container { width: 100px; margin: 0 auto; } .aninode { visibility: hidden; } .animated .aninode { visibility: visible; } .target { width: 100px; height: 100px; background: orange; border-radius: 4px; margin: 20px 0; } .animated .topIn { animation: topIn 1s ease; } .animated .leftIn { animation: leftIn 1s ease; } .btn { width: 100px; height: 30px; border: 1px solid #ccc; outline: none; transition: 0.1s; } .btn:active { border: none; background: orange; color: #fff; } @keyframes topIn { from { transform: translateY(-50px); opacity: 0; } to { transform: translateY(0px); opacity: 1; } } @keyframes leftIn { from { transform: translateX(-50px); opacity: 0; } to { transform: translateX(0px); opacity: 1; } } var show = document.querySelector('.show'); var hide = document.querySelector('.hide'); var container = document.querySelector('.container'); show.addEventListener('click', function() { container.classList.add('animated'); }, !1); hide.addEventListener('click', function() { container.classList.remove('animated'); }, !1);
Die Demo wird wie folgt angezeigt:
See the Pen <a href='https://codepen.io/yangbo5207/pen/NXKrPg/'>NXKrPg</a> by Ormie (<a href='https://codepen.io/yangbo5207'>@yangbo5207</a>) on <a href='https://codepen.io'>CodePen</a>.
Codepen-Demoadresse
Aber das scheint etwas hinter dem gewünschten Effekt zurück zu bleiben. Denken Sie weiter. Wenn Sie möchten, dass die folgenden Elemente später als die vorherigen Elemente angezeigt werden, müssen Sie zunächst die Verzögerungszeit steuern. Wir müssen viele Klassen haben, die die Verzögerungszeit festlegen.
.delay200 { animation-delay: 200ms; animation-fill-mode: backwards!important; } .delay400 { animation-delay: 400ms; animation-fill-mode: backwards!important; } .delay600 { animation-delay: 600ms; animation-fill-mode: backwards!important; } .delay800 { animation-delay: 800ms; animation-fill-mode: backwards!important; }
Animationsfüllmodus: rückwärts!wichtig; Der Zweck besteht darin, die Transparenz des Elements vorher auf 0 zu halten es erscheint Status. Verhindern Sie, dass das Element direkt nach dem Hinzufügen einer Animation angezeigt wird.
Fügen Sie !important hinzu, um zu verhindern, dass die Eigenschaft „animation-fill-mode“ überschrieben wird, wenn die Animationsabkürzung in einer neuen Klasse verwendet wird. Wenn !important hier nicht geschrieben wird, kann die abgekürzte Form nicht in Animationsklassen wie topIn verwendet werden.
Danach müssen wir nur noch den obigen Code zum CSS hinzufügen und einige Änderungen am HTML vornehmen, um den gewünschten Effekt zu erzielen.
See the Pen <a href='https://codepen.io/yangbo5207/pen/mpbEEE/'>mpbEEE</a> by Ormie (<a href='https://codepen.io/yangbo5207'>@yangbo5207</a>) on <a href='https://codepen.io'>CodePen</a>.
Codepen-Demoadresse
Der vollständige Code lautet wie folgt:
<p class="container"> <p class="targets aninode"> <p class="item leftIn">春晓</p> <p class="item leftIn delay200">春眠不觉晓</p> <p class="item leftIn delay400">处处蚊子咬</p> <p class="item leftIn delay600">夜来风雨声</p> <p class="item leftIn delay800"><此处请留下你们的才华></p> </p> <button class="btn show">show</button> <button class="btn hide">hide</button> </p> .container { width: 200px; margin: 0 auto; } .aninode { visibility: hidden; } .animated .aninode { visibility: visible; } .targets { margin: 20px 0; } .targets .item { border: 1px solid #ccc; margin: 10px 0; line-height: 2; padding: 2px 6px; border-radius: 4px; } .animated .topIn { animation: topIn 1s ease; } .animated .leftIn { animation-name: leftIn; animation-duration: 1s; } .btn { width: 100px; height: 30px; border: 1px solid #ccc; outline: none; transition: 0.1s; } .btn:active { border: none; background: orange; color: #fff; } @keyframes topIn { from { transform: translateY(-50px) } to { transform: translateY(0px) } } @keyframes leftIn { from { transform: translateX(-50px); opacity: 0; } to { transform: translateX(0px); opacity: 1; } } .delay200 { animation-delay: 200ms; animation-fill-mode: backwards!important; } .delay400 { animation-delay: 400ms; animation-fill-mode: backwards!important; } .delay600 { animation-delay: 600ms; animation-fill-mode: backwards!important; } .delay800 { animation-delay: 800ms; animation-fill-mode: backwards!important; } var show = document.querySelector('.show'); var hide = document.querySelector('.hide'); var container = document.querySelector('.container'); show.addEventListener('click', function() { container.classList.add('animated'); }, !1); hide.addEventListener('click', function() { container.classList.remove('animated'); }, !1);
Wir haben festgestellt, dass sich die Logik von js in keiner Weise geändert hat. Es geht immer noch nur darum, gegebenenfalls Animationen hinzuzufügen/zu entfernen.
Osterei:
In der Praxis werden wir auch auf eine schwierigere Sache stoßen. Es soll das Schreiben von Kursen verzögern. Wir wissen möglicherweise nicht, welche Zeitunterschiede verwendet werden und wie viele Elemente verwendet werden. Wenn wir sie alle von Hand schreiben, ist es zu mühsam, die Arbeit zu wiederholen. Wir können also js zum dynamischen Einfügen verwenden. Der Code lautet wie folgt:
const styleSheet = getSheet(); var delay = 100; while (delay < 10000) { styleSheet.insertRule(`.animated .delay${delay}{ animation-delay: ${delay}ms; animation-fill-mode: backwards; }`, styleSheet.cssRules.length); delay += delay < 3000 ? 100 : 1000; } function getSheet() { var sheets = document.styleSheets; var len = sheets.length; for(var i = 0; i <= len; i++) { var sheet = sheets.item(i); try { if (sheet.cssRules) { return sheet; } } catch(e) {} } var style = document.createElement('style'); style.type = "text/css"; document.getElementsByTagName('head')[0].appendChild(style); return style.sheet; }
Zusammenfassung
Oben ist das vom Herausgeber eingeführte CSS3 aufgeführt, um den Effekt zu erzielen, dass mehrere Elemente nacheinander angezeigt werden. Ich hoffe, es ist für alle hilfreich! !
Verwandte Empfehlungen:
So verwenden Sie Fenstereinheiten für das Layout in CSS3
CSS3-Beispiel für einen allmählich leuchtenden quadratischen Rand
Reine Sammlung und Organisation von CSS3-Effektressourcen
Das obige ist der detaillierte Inhalt vonCSS3 realisiert den Effekt der Anzeige mehrerer Elemente in der Seitenproduktion sequence_css3_CSS_web. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

In Vue.js gibt das Platzhalterattribut den Platzhaltertext des Eingabeelements an, der angezeigt wird, wenn der Benutzer keinen Inhalt eingegeben hat, Eingabetipps oder Beispiele bereitstellt und die Barrierefreiheit des Formulars verbessert. Seine Verwendung besteht darin, das Platzhalterattribut für das Eingabeelement festzulegen und das Erscheinungsbild mithilfe von CSS anzupassen. Zu den Best Practices gehört es, relevant für die Eingabe zu sein, kurz und klar zu sein, Standardtexte zu vermeiden und die Barrierefreiheit zu berücksichtigen.

Das Span-Tag kann Stile, Attribute oder Verhaltensweisen zum Text hinzufügen. Es wird verwendet, um Stile wie Farbe und Schriftgröße hinzuzufügen. Legen Sie Attribute wie ID, Klasse usw. fest. Zugehörige Verhaltensweisen wie Klicks, Hovers usw. Markieren Sie Text zur weiteren Bearbeitung oder zum Zitieren.

REM in CSS ist eine relative Einheit relativ zur Schriftgröße des Stammelements (HTML). Es weist die folgenden Merkmale auf: relativ zur Schriftgröße des Stammelements, nicht vom übergeordneten Element beeinflusst. Wenn sich die Schriftgröße des Stammelements ändert, werden Elemente, die REM verwenden, entsprechend angepasst. Kann mit jeder CSS-Eigenschaft verwendet werden. Zu den Vorteilen der Verwendung von REM gehören: Reaktionsfähigkeit: Halten Sie den Text auf verschiedenen Geräten und Bildschirmgrößen lesbar. Konsistenz: Stellen Sie sicher, dass die Schriftgrößen auf Ihrer gesamten Website einheitlich sind. Skalierbarkeit: Ändern Sie die globale Schriftgröße ganz einfach, indem Sie die Schriftgröße des Stammelements anpassen.

Es gibt fünf Möglichkeiten, Bilder in Vue einzuführen: über URL, Require-Funktion, statische Datei, V-Bind-Direktive und CSS-Hintergrundbild. Dynamische Bilder können in den berechneten Eigenschaften oder Listenern von Vue verarbeitet werden, und gebündelte Tools können zum Optimieren des Bildladens verwendet werden. Stellen Sie sicher, dass der Pfad korrekt ist, da sonst ein Ladefehler auftritt.

Knoten sind Entitäten im JavaScript-DOM, die HTML-Elemente darstellen. Sie stellen ein bestimmtes Element auf der Seite dar und können verwendet werden, um auf dieses Element zuzugreifen und es zu bearbeiten. Zu den gängigen Knotentypen gehören Elementknoten, Textknoten, Kommentarknoten und Dokumentknoten. Über DOM-Methoden wie getElementById() können Sie auf Knoten zugreifen und diese bearbeiten, einschließlich der Änderung von Eigenschaften, dem Hinzufügen/Entfernen untergeordneter Knoten, dem Einfügen/Ersetzen von Knoten und dem Klonen von Knoten. Das Durchqueren von Knoten hilft bei der Navigation innerhalb der DOM-Struktur. Knoten sind nützlich für die dynamische Erstellung von Seiteninhalten, die Ereignisbehandlung, Animation und Datenbindung.

Browser-Plugins werden normalerweise in den folgenden Sprachen geschrieben: Front-End-Sprachen: JavaScript, HTML, CSS Back-End-Sprachen: C++, Rust, WebAssembly Andere Sprachen: Python, Java

1. Öffnen Sie zunächst das Einstellungssymbol in der unteren linken Ecke und klicken Sie auf die Option „Einstellungen“. 2. Suchen Sie dann die CSS-Spalte im Sprungfenster. 3. Ändern Sie abschließend die Dropdown-Option im Menü „Unbekannte Eigenschaften“ in die Schaltfläche „Fehler“. .

In Vue.js wird ref in JavaScript verwendet, um auf ein DOM-Element zu verweisen (zugänglich für Unterkomponenten und das DOM-Element selbst), während id zum Festlegen des HTML-ID-Attributs verwendet wird (kann für CSS-Stil, HTML-Markup und JavaScript-Suche verwendet werden). ).
