Beispielcode zur Implementierung eines gepunkteten Rahmen-Scrolleffekts mit CSS

Beispielcode zur Implementierung eines gepunkteten Rahmen-Scrolleffekts mit CSS

Wir sehen oft einen coolen Effekt, wenn die Maus über einen Bereich schwebt und der Bereich eine gepunktete Rahmen- und Linienanimation anzeigt. Wie wird dieser Effekt erzielt? Dieser Artikel bietet Ihnen mehrere Ideen als Referenz.

Grundlegendes HTML

<div Klasse="Box">
  <p>Testtest</p>
</div>

Der einfache Weg

Dies geschieht mit einem Hintergrundbild.

p muss vertikal zentriert sein. Wissen Sie noch, wie man es vertikal zentriert? Weitere Einzelheiten finden Sie in einem anderen Blog ~

.Kasten {
  Breite: 100px;
  Höhe: 100px;
  Position: relativ;
  Hintergrund: URL (upload/2022/web/selection.gif);
  P {
    Position: absolut;
    links: 0;
    oben: 0;
    rechts: 0;
    unten: 0;
    Rand: automatisch;
    Höhe: berechnet (100 % – 2 Pixel);
    Breite: berechnet (100 % – 2 Pixel);
    Hintergrundfarbe: #fff;
  }
}

sich wiederholender linearer Farbverlauf

135 Grad wiederholter linearer Farbverlauf, p erweitert die Höhe und der weiße Hintergrund deckt den äußeren Div-Farbverlauf ab.

.Kasten {
  Breite: 100px;
  Höhe: 100px;
  Hintergrund: sich wiederholender linearer Farbverlauf (
    135 Grad,
    transparent,
    transparent 4px,
    #000 4px,
    #000 8px
  );
  Überlauf: versteckt; // Einen neuen BFC erstellen, um das Problem des Randzusammenbruchs in der vertikalen Richtung zu lösen. Animation: 1 Sekunde unendlich linear bewegen.
  P {
    Höhe: berechnet (100 % – 2 Pixel);
    Rand: 1px;
    Hintergrundfarbe: #fff;
  }
}
@keyframes verschieben {
  aus {
    Hintergrundposition: -1px;
  }
  Zu {
    Hintergrundposition: -12px;
  }
}

linearer Farbverlauf und Hintergrund

Zeichnen Sie mit einem linearen Farbverlauf und der Hintergrundgröße eine gepunktete Linie und verschieben Sie sie dann mit der Hintergrundposition auf die vier Seiten. Der Vorteil dieser Methode besteht darin, dass Sie die Stile der vier Kanten und die Richtung der Animation separat festlegen können. Aufmerksame Schüler sollten feststellen, dass die Animation der vorherigen Methode weder im Uhrzeigersinn noch gegen den Uhrzeigersinn erfolgt.

.Kasten {
  Breite: 100px;
  Höhe: 100px;
  Hintergrund: linearer Farbverlauf (0 Grad, transparent 6px, #e60a0a 6px) Wiederholung-y,
    linearer Farbverlauf (0 Grad, transparent 50 %, #0f0ae8 0) Wiederholung-y,
    linearer Farbverlauf (90 Grad, transparent 50 %, #09f32f 0) repeat-x,
    linearer Farbverlauf (90 Grad, transparent 50 %, #fad648 0) repeat-x;
  Hintergrundgröße: 1px 12px, 1px 12px, 12px 1px, 12px 1px;
  Hintergrundposition: 0 0, 100 % 0, 0 0, 0 100 %;
  Animation: Bewegung2 1s unendlich linear;
  P {
    Rand: 1px;
  }
}
@keyframes verschieben2 {
  aus {
  }
  Zu {
    Hintergrundposition: 0 -12px, 100 % 12px, 12px 0, -12px 100 %;
  }
}

linearer Farbverlauf und Maske

Die Spezifikation des Maskenattributs wurde in die Liste der empfohlenen Spezifikationen aufgenommen. Es ist eine ausgemachte Sache, dass sie in Zukunft in die etablierten Spezifikationen und Standards aufgenommen wird. Sie können sie mit Zuversicht studieren, da sie in Zukunft nützlich sein wird.

Hier kann auch eine Maske verwendet werden, um dieselbe Animation zu erzielen, und es kann auch der Effekt einer gepunkteten Rahmenfarbe mit Farbverlauf erzielt werden. Der Unterschied zum Hintergrund besteht darin, dass die Maske in der Mitte eine undurchsichtige Maske haben muss, da sonst der Inhalt des p-Elements abgedeckt wird.

.Kasten {
  Breite: 100px;
  Höhe: 100px;
  Hintergrund: linearer Farbverlauf (0 Grad, #f0e, #fe0);
  -webkit-mask: linearer Farbverlauf (0 Grad, transparent 6px, #e60a0a 6px) Wiederholung-y,
    linearer Farbverlauf (0 Grad, transparent 50 %, #0f0ae8 0) Wiederholung-y,
    linearer Farbverlauf (90 Grad, transparent 50 %, #09f32f 0) repeat-x,
    linearer Farbverlauf (90 Grad, transparent 50 %, #fad648 0) repeat-x,
    linear-gradient(0deg, #fff, #fff) no-repeat; // Sie können hier jede undurchsichtige Farbe verwenden -webkit-mask-size: 1px 12px, 1px 12px, 12px 1px, 12px 1px, 98px 98px;
  -webkit-mask-position: 0 0, 100 % 0, 0 0, 0 100 %, 1px 1px;
  Überlauf: versteckt;
  Animation: Bewegung3 1s unendlich linear;
  P {
    Höhe: berechnet (100 % – 2 Pixel);
    Rand: 1px;
    Hintergrundfarbe: #fff;
  }
}
@keyframes move3 {
  aus {
  }
  Zu {
    -webkit-mask-position: 0 -12px, 100 % 12px, 12px 0, -12px 100 %, 1px 1px;
  }
}

Klicken Sie hier für die Demo

Zusammenfassen

Oben sehen Sie den CSS-Beispielcode, um den vom Editor eingeführten gepunkteten Rand-Scrolleffekt zu erzielen. Ich hoffe, er ist für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

<<:  Eine kurze Einführung in Web2.0-Produkte und -Funktionen

>>:  So implementieren Sie die Vue-Bindungsklasse und den Inline-Bindungsstil

Artikel empfehlen

Lösung für das Problem „VMware-virtuelle Maschine ohne Netzwerk“

Inhaltsverzeichnis 1. Problembeschreibung 2. Prob...

2 Methoden und Vorsichtsmaßnahmen zum Hinzufügen von Skripten in HTML

So fügen Sie ein <script>-Skript in HTML ein...

Implementierung der IP-Adresskonfiguration in Centos7.5

1. Bevor Sie die IP-Adresse konfigurieren, verwen...

Spezifische Verwendung des Linux-Man-Befehls

01. Befehlsübersicht Linux bietet ein umfangreich...

Beispielcode zur Implementierung einer Auto-Increment-Sequenz in MySQL

1. Erstellen Sie eine Sequenztabelle CREATE TABLE...

Teilen Sie 8 MySQL-Fallstricke, die Sie erwähnen müssen

MySQL ist einfach zu installieren, schnell und ve...

So konfigurieren Sie Anti-Hotlinking für den Nginx-Websitedienst (empfohlen)

1. Prinzip des Hotlinking 1.1 Vorbereitung der We...

5 JavaScript-Möglichkeiten zum Abflachen von Arrays

Inhaltsverzeichnis 1. Konzept der Array-Abflachun...

Implementierungsschritte zum Installieren einer Java-Umgebung in Docker

Dieser Artikel basiert auf Linux CentOS8, um Dock...

So erstellen Sie mit Squid einen Proxyserver für http und https

Als wir nginx eingeführt haben, haben wir nginx a...

Detailliertes Installationstutorial für die MySQL-Zip-Archivversion (5.7.19)

1. Laden Sie die Zip-Archivversion von der offizi...

Lösen Sie das Problem beim Ausführen von Jupyter Notebook auf dem Server

Inhaltsverzeichnis Auf dem Server läuft Jupyter N...