Lösen Sie schnell das Problem der weißen Lücke (Flash-Bildschirm), wenn CSS @keyframes verwendet, um Bilder für den ersten Zyklus zu laden

Lösen Sie schnell das Problem der weißen Lücke (Flash-Bildschirm), wenn CSS @keyframes verwendet, um Bilder für den ersten Zyklus zu laden

Problemerklärung:

Wenn Sie die CSS-Eigenschaft „animations“ verwenden, wird beim ersten Laden der Schleife eine weiße Lücke angezeigt, die ein wenig so aussieht, als würde die Seite aktualisiert. Bei jeder nachfolgenden Schleife tritt dieses Problem nicht mehr auf.

Problempräsentation

//html
 <div Klasse="Container">
        <div Klasse="Erste"> </div>
  </div>
//weniger
.container {
  Breite: 100vw;
  Höhe: 100%;
}
.container .erste {
  Breite: 100vw;
  Höhe: 100vh;
  Animation: bgmove 10s unendlich;
}
@keyframes bgmove {
  0% {
    Hintergrund: URL("https://sqimg.qq.com/qq_product_operations/im/pcqq/9.0/firstscreen_img/BG-1.jpg") keine Wiederholung, Mitte, Mitte;
    Hintergrundgröße: Abdeckung;
    Deckkraft: 1;
  }
  15 % {
    Hintergrund: URL("https://sqimg.qq.com/qq_product_operations/im/pcqq/9.0/firstscreen_img/BG-1_1.jpg") keine Wiederholung, Mitte, Mitte;
    Deckkraft: 1;
    Hintergrundgröße: Abdeckung;
  }
  30% {
    Hintergrund: URL("https://sqimg.qq.com/qq_product_operations/im/pcqq/9.0/firstscreen_img/BG-2_1.jpg") keine Wiederholung, Mitte, Mitte;
    Deckkraft: 1;
    Hintergrundgröße: Abdeckung;
  }
  45 % {
    Hintergrund: URL("https://sqimg.qq.com/qq_product_operations/im/pcqq/9.0/firstscreen_img/BG-4_1.jpg") keine Wiederholung, Mitte, Mitte;
    Deckkraft: 1;
    Hintergrundgröße: Abdeckung;
  }
  60 % {
    Hintergrund: URL("https://sqimg.qq.com/qq_product_operations/im/pcqq/9.0/firstscreen_img/BG-5_1.jpg") keine Wiederholung, Mitte, Mitte;
    Deckkraft: 1;
    Hintergrundgröße: Abdeckung;
  }
  80 % {
    Hintergrund: URL("https://sqimg.qq.com/qq_product_operations/im/pcqq/9.0/firstscreen_img/BG-1_1.jpg") keine Wiederholung, Mitte, Mitte;
    Deckkraft: 1;
    Hintergrundgröße: Abdeckung;
  }
  100 % {
    Hintergrund: URL("https://sqimg.qq.com/qq_product_operations/im/pcqq/9.0/firstscreen_img/BG-1.jpg") keine Wiederholung, Mitte, Mitte;
    Hintergrundgröße: Abdeckung;
    Deckkraft: 1;
  }
}

Lösung

//weniger
.container {
  Breite: 100vw;
  Höhe: 100%;
}
.container .erste {
  Breite: 100vw;
  Höhe: 100vh;
  Hintergrund: URL ("https://sqimg.qq.com/qq\_product\_operations/im/pcqq/9.0/firstscreen\_img/BG-1.jpg"),
             url("https://sqimg.qq.com/qq\_product\_operations/im/pcqq/9.0/firstscreen\_img/BG-1\_1.jpg"),
             url("https://sqimg.qq.com/qq\_product\_operations/im/pcqq/9.0/firstscreen\_img/BG-2\_1.jpg"),
             url("https://sqimg.qq.com/qq\_product\_operations/im/pcqq/9.0/firstscreen\_img/BG-4\_1.jpg"),
             url("https://sqimg.qq.com/qq\_product\_operations/im/pcqq/9.0/firstscreen\_img/BG-5\_1.jpg"),
             url("https://sqimg.qq.com/qq\_product\_operations/im/pcqq/9.0/firstscreen\_img/BG-1\_1.jpg");
  Animation: bgmove 10s unendlich;
}
@keyframes bgmove {
  0% {
    Hintergrund: URL("https://sqimg.qq.com/qq_product_operations/im/pcqq/9.0/firstscreen_img/BG-1.jpg") keine Wiederholung, Mitte, Mitte;
    Hintergrundgröße: Abdeckung;
    Deckkraft: 1;
  }
  15 % {
    Hintergrund: URL("https://sqimg.qq.com/qq_product_operations/im/pcqq/9.0/firstscreen_img/BG-1_1.jpg") keine Wiederholung, Mitte, Mitte;
    Deckkraft: 1;
    Hintergrundgröße: Abdeckung;
  }
  30% {
    Hintergrund: URL("https://sqimg.qq.com/qq_product_operations/im/pcqq/9.0/firstscreen_img/BG-2_1.jpg") keine Wiederholung, Mitte, Mitte;
    Deckkraft: 1;
    Hintergrundgröße: Abdeckung;
  }
  45 % {
    Hintergrund: URL("https://sqimg.qq.com/qq_product_operations/im/pcqq/9.0/firstscreen_img/BG-4_1.jpg") keine Wiederholung, Mitte, Mitte;
    Deckkraft: 1;
    Hintergrundgröße: Abdeckung;
  }
  60 % {
    Hintergrund: URL("https://sqimg.qq.com/qq_product_operations/im/pcqq/9.0/firstscreen_img/BG-5_1.jpg") keine Wiederholung, Mitte, Mitte;
    Deckkraft: 1;
    Hintergrundgröße: Abdeckung;
  }
  80 % {
    Hintergrund: URL("https://sqimg.qq.com/qq_product_operations/im/pcqq/9.0/firstscreen_img/BG-1_1.jpg") keine Wiederholung, Mitte, Mitte;
    Deckkraft: 1;
    Hintergrundgröße: Abdeckung;
  }
  100 % {
    Hintergrund: URL("https://sqimg.qq.com/qq_product_operations/im/pcqq/9.0/firstscreen_img/BG-1.jpg") keine Wiederholung, Mitte, Mitte;
    Hintergrundgröße: Abdeckung;
    Deckkraft: 1;
  }
}

Endergebnis

Problemanalyse

Beim Laden von Bildern gibt es im Allgemeinen zwei Situationen: das Vorladen von Bildern und das verzögerte Laden von Bildern. Hier sprechen wir über das Problem des Vorladens von Bildern. Wenn sich zu viele Bilder auf einer Seite befinden, wird der Server stark belastet. Das gleichzeitige Laden von Bildern führt zu Diskontinuitäten. Daher sollten alle Bilder beim ersten Laden geladen werden. Auf diese Weise werden diese Bilder bei späterer Verwendung als lokale Ressourcen zwischengespeichert, und die Ladegeschwindigkeit ist viel schneller und es tritt kein weißer Fehler auf.

Dies ist das Ende dieses Artikels darüber, wie man das Problem der weißen Lücke (Blinkbildschirm) schnell lösen kann, das auftritt, wenn CSS @keyframes zum ersten Mal zum Laden von Bildern verwendet. Weitere relevante CSS-Keyframes zum Laden von Bildinhalten finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder durchsuchen Sie die verwandten Artikel weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

<<:  Beispielcode zur Trennung von Front-End und Back-End mit FastApi+Vue+LayUI

>>:  Sollte ich beim Erstellen einer Website die Kodierung UTF-8 oder GB2312 verwenden?

Artikel empfehlen

Implementierung von LNMP für die separate Bereitstellung von Docker-Containern

1. Umweltvorbereitung Die IP-Adresse jedes Contai...

Detailliertes Tutorial zur schnellen Installation von Zookeeper in Docker

Docker: Zookeeper schnell installieren Ich habe Z...

Eine sehr detaillierte Erklärung des Linux DHCP-Dienstes

Inhaltsverzeichnis 1. DHCP-Dienst (Dynamic Host C...

Vor- und Nachteile von MySQL-Indizes und Richtlinien zum Erstellen von Indizes

1. Warum einen Index erstellen? (Vorteile) Dies l...

Zusammenfassung der Verwendung von berechneten Vue-Eigenschaften und -Listenern

1. Berechnete Eigenschaften und Listener 1.1 Bere...

Lernen, React-Gerüste zu bauen

1. Komplexität des Front-End-Engineerings Wenn wi...

Implementierung einer Login-Seite basierend auf layui

In diesem Artikelbeispiel wird der spezifische Co...

Wie man mit React elegant CSS schreibt

Inhaltsverzeichnis 1. Inline-Stile 2. Importmetho...

Einführung in MySQL-Rollenfunktionen

Inhaltsverzeichnis Vorwort: 1. Einführung in die ...

Grafisches Tutorial zur Installation von MySQL 5.5 unter Win7

Die MySQL-Installation ist relativ einfach. Norma...