Beispielcode zur Implementierung des Aushöhlungseffekts mit CSS

Beispielcode zur Implementierung des Aushöhlungseffekts mit CSS

Wirkungsprinzip

Verwenden Sie hauptsächlich CSS-Farbverläufe, um eine Hintergrundaushöhlung zu erzielen, die kein Schneiden erfordert

Gutschein-Stil

.mixinsTicket(@width, @height, @r, @left, @lcolor, @rcolor) {
    Breite: @width;
    Höhe: @Höhe;
    Hintergrund:
              radial-gradient(Kreis oben rechts, transparent @r, @lcolor 0) -(@width - @left) top ~'/' 100% 51% keine Wiederholung,
              radial-gradient(Kreis unten rechts, transparent @r, @lcolor 0) -(@width - @left) unten ~'/' 100% 51% keine Wiederholung,
              radial-gradient(Kreis oben links, transparent @r, @rcolor 0) @left 0 ~'/' 100% 51% keine Wiederholung,
              radial-gradient (Kreis unten links, transparent @r, @rcolor 0) @left bottom ~'/' 100% 51% keine Wiederholung;
} 

.mixinsTicket1(@width, @height, @r, @top, @color) {
   Breite: @width;
   Höhe: @Höhe;
   Hintergrund:
               radial-gradient(Kreis unten links, transparent @r, @color 0) links (@top - @height) ~'/' 51% 100% keine Wiederholung,
               radial-gradient(Kreis oben links, transparent @r, @color 0) links @top ~'/' 51% 100% keine Wiederholung,
               radial-gradient(Kreis unten rechts, transparent @r, @color 0) rechts (@top - @height) ~'/' 51% 100% keine Wiederholung,
               radialer Farbverlauf (Kreis oben rechts, transparent @r, @Farbe 0) rechts @top ~'/' 51 % 100 % keine Wiederholung;
   &::nach{
     Inhalt: '';
     Anzeige: Block;
     Position: absolut;
     Breite: berechnet (100 % – 2 * @r);
     links: @r;
     oben: @top;
     Rahmen oben: 1px gestrichelt #fff;
     transformieren: übersetzenY(.5);
   }
}

Cutaway-Effekt

ps: Die Sägezahnkurve bezieht sich auf die Anzeige des Gerätes

.mixinFlag(@width, @height, @bg) wann(Standard()) {
    Breite: @width;
    Höhe: @Höhe;
    Hintergrund:
              linearer Farbverlauf (45 Grad, transparente Quadratwurzel (pow(@width/2, 2)/2), @bg 0) rechts,
              linearer Farbverlauf (-45 Grad, transparente Quadratwurzel (pow(@width/2, 2)/2), @bg 0) links;
    Hintergrundgröße: 50 % 100 %;
    Hintergrundwiederholung: keine Wiederholung;
 }
 .mixinFlag(@width, @height, @bg) wenn(@width > @height) {
    Breite: @width;
    Höhe: @Höhe;
    Hintergrund:
              linearer Farbverlauf (-45 Grad, transparente Quadratwurzel (pow(@height/2, 2)/2), @bg 0) oben links,
              linearer Farbverlauf (-135 Grad, transparente Quadratwurzel (pow(@height/2, 2)/2), @bg 0) unten links;
    Hintergrundgröße: 100 % 50 %;
    Hintergrundwiederholung: keine Wiederholung;
} 

.mixinsMark(@width, @height, @bg) {
    Breite: @width;
    Höhe: @Höhe;
    Hintergrund:
              linearer Farbverlauf (-45 Grad, transparent sqrt (pow (@height/2, 2)/2), @bg 0) unten links,
              linearer Farbverlauf (-135 Grad, transparente Quadratwurzel (pow(@height/2, 2)/2), @bg 0) oben links;
    Hintergrundgröße: 100 % 50 %;
    Hintergrundwiederholung: keine Wiederholung;
}

ps: Die oben genannten Effekte können in vier Richtungen erreicht werden. Die Codes für andere Richtungen werden nicht veröffentlicht, aber die Prinzipien sind dieselben

Plaid

css {
    Breite: 510px;
    Höhe: 128px;
    Hintergrund: #FFF;
    Hintergrundbild: linearer Farbverlauf (rgba (182, 128, 102, .8) 8px, transparent 0),
                      linearer Farbverlauf (90 Grad, RGBA (182, 128, 102, .8) 8px, transparent 0);
    Hintergrundgröße: 8px 14px, 14px 8px;
}

Fokus

.Maske {
  Position: fest;
  oben: 0;
  links: 0;
  Z-Index: 100;
  Breite: 100vw;
  Höhe: 100vh;
  Hintergrund:
  radialer Farbverlauf (nächste Seite bei 50 % 278 rpx, transparent 140 rpx, rgba (0, 0, 0, 0,12) 180 rpx, rgba (0, 0, 0, 0,22) 200 rpx, rgba (0,0,0, 0,3) 220 rpx, rgba (0,0,0, 0,4)) keine Wiederholung;
}

Zusammenfassen

Jede Verlaufsebene kann als Hintergrundbild behandelt werden, was bedeutet, dass für jede Verlaufsebene ihre Position, Größe und Wiederholung angegeben werden kann. Schüler, die PS verwendet haben, sollten das Konzept von Ebenen kennen. Das Prinzip unserer Hintergrundebenenstapelung ist ähnlich (natürlich können Farbverläufe auch als Hintergrundbilder verwendet werden). Indem Sie die Größe des Farbverlaufs steuern, wo er ausgehöhlt werden muss, wo er angezeigt werden muss und ob er gekachelt ist, können Sie in den meisten Szenen die grundlegenden Effekte erzielen. Natürlich ist ein zugeschnittenes Bild schneller, aber manchmal kann sich ein zugeschnittenes Bild nicht an alle Szenen anpassen.

Wenn Sie die Reihenfolge beherrschen, in der der Hintergrund geschrieben wird, können Sie sich die gewünschte Wirkung besser vorstellen:


Code kopieren
Der Code lautet wie folgt:
Hintergrund: BG-Farbe || BG-Bild || BG-Position [ / BG-Größe]? || BG-Wiederholung || BG-Anhang || BG-Ursprung || BG-Clip

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

<<:  Der DOCTYPE-Modusauswahlmechanismus bekannter Browser

>>:  Beispiel-Tutorial zur Verwendung der Summenfunktion in MySQL

Artikel empfehlen

Was macht die MySQL-Datenbank?

MySQL ist ein relationales Datenbankverwaltungssy...

Detaillierte Verwendung von Echarts in vue2 vue3

Inhaltsverzeichnis 1. Installation 2. Verwenden S...

So legen Sie den Standardwert für den Datums-/Uhrzeittyp in MySQL fest

Beim Ändern des Standarddatums-/Uhrzeitwerts über...

So verwenden Sie Docker zum Erstellen eines Redis-Master-Slaves

1. Erstellen Sie eine Docker-Umgebung 1. Erstelle...

CSS3-Animation – Erläuterung der Funktion „Steps“

Als ich mir in letzter Zeit einige CSS3-Animation...

Detaillierte Erklärung der Semiotik in Html/CSS

Basierend auf Theorien wie Saussures Sprachphilos...

Verwenden Sie reines CSS, um einen Scroll-Schatteneffekt zu erzielen

Um es gleich auf den Punkt zu bringen: Bei manche...

Eine kurze Analyse des MySQL-Index

Ein Datenbankindex ist eine Datenstruktur, deren ...

Häufige Fehler bei der Verwendung von React Hooks

React Hooks ist eine neue Funktion, die in React ...