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

Detaillierte Analyse des Diff-Algorithmus in React

Verständnis des Diff-Algorithmus in React diff -A...

Schritte zum Verpacken und Bereitstellen des Vue-Projekts auf dem Apache-Server

In der Entwicklungsumgebung wird das Vue-Projekt ...

Der Unterschied zwischen schreibgeschützt und deaktiviert

Um es zusammenzufassen: „Nur lesen“ ist nur für Ei...

Detaillierte Erklärung der Schleifenverwendung in Javascript-Beispielen

Aus Langeweile habe ich ein paar einfache Übungen...

Vollständige Schritte zur Deinstallation der MySQL-Datenbank

Der Vorgang zur vollständigen Deinstallation der ...

Schreiben Sie ein React-ähnliches Framework von Grund auf

Kürzlich habe ich im Internet den Artikel „Build ...

Detaillierte Erläuterung des Beispiels für MySQL-Integritätsbeschränkungen

Dieser Artikel beschreibt die MySQL-Integritätsbe...

Das WeChat-Applet realisiert ein Verknüpfungsmenü

Um das Kursdesign zu realisieren, habe ich kürzli...

Fallstudie zum Zusammenführen von JavaScript-Arrays

Methode 1: var a = [1,2,3]; var b=[4,5] a = a.con...

Einfache Methode zur Installation von MySQL unter Linux

Bei der Onlinesuche nach Methoden zur Installatio...

Verwenden von js zum Implementieren eines einfachen Lichtschaltercodes

Körperteil: <button>Licht ein-/ausschalten&...

Detailliertes Tutorial zum Bereitstellen von Apollo mit Docker

1. Einleitung Ich werde hier nicht näher auf Apol...