CSS3 Milchglaseffekt

CSS3 Milchglaseffekt

Wenn der Milchglaseffekt gut gelingt, kann er die Seite sehr lebendig und dreidimensional erscheinen lassen. Direkt auf dem Bild

Körper {
    Mindesthöhe: 100vh;
    Box-Größe: Rahmenbox;
    Rand: 0;
    Polsterung oben: calc(50vh - 6em);
    Schriftart: 150 %/1,6 Serifen;
    Hintergrund: URL("iphone.jpg") fest 0 Mitte;
    Hintergrundgröße: Abdeckung;
}
hauptsächlich {
    Rand: 0 automatisch;
    Polsterung: 1em;
    maximale Breite: 30em;
    Rahmenradius: .3em;
    Boxschatten: 0 0 0 1px hsla(0,0%,100%,.3) Einschub,
                0,5em 1em rgba(0, 0, 0, 0,6);
    Textschatten: 0 1px 1px hsla (0,0 %, 100 %, 0,3);
    Hintergrund: hsla (0,0 %, 100 %, 0,3);
}

<main>……</main>

Entfernen Sie diese Stilcodes. Der Kerncode zum Erreichen des Milchglaseffekts lautet wie folgt:

Körper {
    …
    Hintergrund: URL("iphone.jpg") fest 0 Mitte;
    Hintergrundgröße: Abdeckung;
}
hauptsächlich {
    …
    Hintergrund: hsla (0,0 %, 100 %, 0,3);
}

Natürlich liegt dieser Effekt noch etwas hinter unseren Erwartungen zurück, denn schon eine Transparenz von 30 % würde die Lesbarkeit des Textes beeinträchtigen. Das Hintergrundbild dient lediglich der Verschönerung einer Seite, der Text bildet das Herzstück. Sie können den Transparenzprozentsatz erhöhen, die Seite sieht dann jedoch starr aus. Um den Text lesbarer zu machen und die Seite lebendig zu halten, können Sie den Hintergrund des Mian-Tags oben verwischen.

Du könntest es mit dem Weichzeichner-Filter versuchen, aber leider funktioniert dieser nicht richtig:

hauptsächlich {
    …
    -Webkit-Filter: Unschärfe (3px);
    Filter: Unschärfe (3px);
}

Durch die Verwendung des Weichzeichnerfilters wird der Text unscharf und ist dadurch noch schwerer zu erkennen. Daher muss ich aufgeben. Die richtige Vorgehensweise besteht darin, dem Mian-Tag ein Pseudoelement ::before hinzuzufügen und den Unschärfefilter auf dem Pseudoelement anzuwenden: (zu Demonstrationszwecken wird eine rote Hintergrundfarbe hinzugefügt).

hauptsächlich {
    Position: relativ;
    …
}
main::vor {
    Inhalt: '';
    Position: absolut;
    oben: 0; rechts: 0; unten: 0; links: 0;
    z-Index: -1;
    -Webkit-Filter: Unschärfe (20px);
    Filter: Unschärfe (20px);
    Hintergrund: rgba(255,0,0,.5);
}

Es ist ersichtlich, dass der Unschärfeeffekt erzielt wird, dies verursacht jedoch zwei Probleme. Zunächst entsteht durch die Unschärfe ein äußerer Schatten. Dies lässt sich leicht lösen. Fügen Sie einfach overflow: hidden; Zweitens wird der Unschärfeeffekt innerhalb des ihn umgebenden Unschärferadius von 20 Pixeln allmählich schwächer. Wenn Sie sich darüber Sorgen machen und möchten, dass der Unschärfeeffekt an den Rändern der gleiche ist wie in der Mitte, können Sie die Pseudoelementgröße um 20 Pixel erweitern. Um auf Nummer sicher zu gehen, können Sie es noch etwas weiter auf 30 Pixel erweitern:

hauptsächlich {
    …
    Überlauf: versteckt;
}
main::vor {
    …
    Rand: -30px;
}

Ersetzen Sie abschließend die rote Hintergrundfarbe des Pseudoelements durch das Hintergrundbild des Körpers. Der Effekt ist wie folgt. Sie können auch hier klicken und mit der rechten Maustaste klicken, um den vollständigen Quellcode anzuzeigen.

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.

<<:  Was ist Webdesign

>>:  Verwenden Sie Docker, um Tomcat bereitzustellen und eine Verbindung zu Skywalking herzustellen

Artikel empfehlen

Beispielcode zur Implementierung des Verlaufs in Vuex

Ich habe vor Kurzem eine visuelle Operationsplatt...

Zusammenfassung von über 50 Hilfsfunktionen in JavaScript

JavaScript kann viele tolle Dinge. Dieser Artikel...

JS Asynchronous Stack Tracing: Warum „await“ besser ist als „Promise“

Überblick Der grundlegende Unterschied zwischen a...

Beispiele für die Verwendung des ES6-Spread-Operators

Inhaltsverzeichnis Was sind Spread- und Rest-Oper...

So erstellen Sie einen SSH-Dienst basierend auf einem Golang-Image in Docker

Nachfolgend finden Sie den Code zum Erstellen ein...

Docker-Installations- und Konfigurationsschritte für RabbitMQ

Inhaltsverzeichnis Bereitstellung auf einem einze...

Lösung für den Fehler 2059 beim Verbinden von Navicat mit MySQL

Als ich kürzlich Django lernte, musste ich eine D...

Detaillierte Erklärung der JS-Array-Methoden

Inhaltsverzeichnis 1. Das ursprüngliche Array wir...

Analyse der Unterschiede zwischen Mysql InnoDB und MyISAM

MySQL unterstützt viele Arten von Tabellen (d. h....

Die Bedeutung des Statuscodes im HTTP-Protokoll

Ein Statuscode, der eine vorläufige Antwort anzei...

Vue realisiert einfachen Effekt des Lauflichts

In diesem Artikel wird der spezifische Code von V...

So autorisieren Sie Remoteverbindungen in MySQL unter Linux

Hinweis: Andere Maschinen (IP) können ohne Autori...