Heim > Web-Frontend > CSS-Tutorial > Hauptteil

So erzielen Sie mit reinem CSS einen fahnenschwenkenden Animationseffekt (Quellcode im Anhang)

不言
Freigeben: 2018-09-04 11:04:59
Original
3672 Leute haben es durchsucht

Der Inhalt dieses Artikels befasst sich mit der Verwendung von reinem CSS, um einen Flaggen-Animationseffekt zu erzielen (Quellcode ist beigefügt). Ich hoffe, dass dies der Fall ist hilfreich sein.

Effektvorschau

So erzielen Sie mit reinem CSS einen fahnenschwenkenden Animationseffekt (Quellcode im Anhang)

Quellcode-Download

https://github.com/comehope/front- end-daily-challenges

Codeinterpretation

Dom definieren, der Container enthält 15 Elemente:

<div>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
</div>
Nach dem Login kopieren

Zentrierte Anzeige:

body {
    margin: 0;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: black;
}
Nach dem Login kopieren

Containergröße definieren:

.flag {
    width: 10em;
    height: 15em;
    font-size: 20px;
}
Nach dem Login kopieren

Linienstil festlegen:

.flag span {
    width: 0.25em;
    height: inherit;
    background-color: deepskyblue;
}
Nach dem Login kopieren

Linie kacheln lassen:

.flag {
    display: flex;
    justify-content: space-between;
}
Nach dem Login kopieren

3D-Perspektiveffekt hinzufügen:

.flag {
    transform: perspective(500px) rotateY(-20deg);
}
Nach dem Login kopieren

Animationseffekt der Links- und Rechtsbewegung definieren :

.flag span {
    animation: wave 1.5s ease-in-out infinite alternate;
}

@keyframes wave {
    to {
        transform: translateX(2em);
    }
}
Nach dem Login kopieren

Legen Sie den Wert der Elementvariablen fest:

.flag span:nth-child(1) {
    --n: 1;
}

.flag span:nth-child(2) {
    --n: 2;
}

/* 共 15 个元素,每元素的 --n 变量值等于它的序号。 */
/* 中间代码略 …… */

.flag span:nth-child(14) {
    --n: 14;
}

.flag span:nth-child(15) {
    --n: 15;
}
Nach dem Login kopieren

Lassen Sie jede Zeile die Animation mit einer Verzögerung starten, um den Effekt einer wehenden Flagge zu erzeugen:

.flag span {
    animation-delay: calc(var(--n) * -0.1s);
}
Nach dem Login kopieren

Fügen Sie schließlich hinzu Licht- und Schatteneffekt:

.flag span {
    background-color: ghostwhite;
}

@keyframes wave {
    to {
        transform: translateX(2em);
        background-color: deepskyblue;
    }
}
Nach dem Login kopieren

Du bist fertig!

Verwandte Empfehlungen:

So verwenden Sie reines CSS, um den Button-Hover-Effekt zu erzielen, bei dem sich der Ball in einen rechteckigen Hintergrund verwandelt (Quellcode im Anhang)

So verwenden Sie CSS und D3, um eine interaktive Animation kleiner schwimmender Fische zu realisieren (mit Code)

Das obige ist der detaillierte Inhalt vonSo erzielen Sie mit reinem CSS einen fahnenschwenkenden Animationseffekt (Quellcode im Anhang). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!