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

Gogs+Jenkins+Docker automatisierte Bereitstellung von .NetCore-Schritten

Inhaltsverzeichnis Umgebungsbeschreibung Docker-I...

Ausführliche Erklärung zur Docker-Maschine

Unterschiede zwischen Docker und Docker Machine D...

Implementierungscode für die HTML-Drag & Drop-Funktion

Basierend auf Vue Die Kernidee dieser Funktion be...

Analyse der Informationsarchitektur von Facebook

<br />Original: http://uicom.net/blog/?p=762...

Fügen Sie dem Debian-Docker-Container geplante Crontab-Aufgaben hinzu

Mittlerweile basieren die meisten Docker-Images a...

So stellen Sie MongoDB-Container mit Docker bereit

Inhaltsverzeichnis Was ist Docker einsetzen 1. Zi...

Detaillierte Erklärung zur Einstellung des Hintergrundbild-Attributs in HTML

Bei Bildern denken wir zuerst an das Hintergrundb...

Probleme beim Springen auf HTML-Seiten und bei der Parameterübertragung

HTML-Seitensprung: Fenster.öffnen(URL, "&quo...

Einführung in semantische XHTML-Tags

Der erste Punkt ist, dass Menschen die Semantik vo...

Ausführliches Tutorial zur Installation und Konfiguration von MySQL 8.0.20

In diesem Artikel finden Sie eine ausführliche An...

So erstellen Sie ein php-nginx-alpine-Image von Grund auf in Docker

Obwohl ich bereits einige Projekte in einer Docke...