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

Automatisches Laden des Kernelmodul-Overlayfs-Vorgangs beim CentOS-Start

Um Kernelmodule in CentOS automatisch zu laden, k...

So berechnen Sie mit Linux den von zeitgesteuerten Dateien belegten Speicherplatz

Öffnen Sie den Editor für geplante Aufgaben. Cent...

Informationen zum Debuggen von CSS-Cross-Browser-Style-Fehlern

Als Erstes müssen Sie einen guten Browser auswähl...

CSS zum Implementieren von QQ-Browserfunktionen

Code Wissenspunkte 1. Kombinieren Sie fullpage.js...

Diagramm des Prozesses zur Implementierung eines Richtungsproxys durch Nginx

Dieser Artikel stellt hauptsächlich den Prozess d...

Detailliertes Verständnis des Lebenszyklusvergleichs zwischen Vue2 und Vue3

Inhaltsverzeichnis Zyklusvergleich Verwendung Zus...

Detaillierte Erklärung der Rolle des Schlüssels in React

Inhaltsverzeichnis Frage: Wird die Farbe des Bere...

Nodejs konvertiert JSON-String in JSON-Objekt-Fehlerlösung

Wie konvertiere ich eine JSON-Zeichenfolge in ein...

4 Möglichkeiten, sich schnell Linux-Befehle selbst beizubringen

Wenn Sie ein Linux-Meister werden möchten, ist di...

Echarts-Tutorial zur Implementierung von Baumdiagrammen

Treemaps dienen vor allem der Visualisierung baum...

So gestalten Sie Ihre JavaScript-Funktionen eleganter

Inhaltsverzeichnis Objektparameter durch Destrukt...

So ändern Sie die Systemsprache von CentOS7 in vereinfachtes Chinesisch

veranschaulichen Bei einer Eigeninstallation des ...