Tipps zum Implementieren mehrerer Rahmen in CSS

Tipps zum Implementieren mehrerer Rahmen in CSS

1. Mehrere Grenzen[1]

Hintergrund: Box-Shadow, Umriss
Angesichts der Vielfalt der Verwendungsszenarien gibt es immer mehr Designs mit mehreren Rändern. Früher konnten wir die Eigenschaft border-image verwenden, um damit umzugehen, aber dies ist auf CSS-Codeebene nicht sehr flexibel. Jetzt verwenden wir die Eigenschaften „Boxschatten“ und „Umriss“, um jeweils mehrere Ränder zu implementieren.

1. Box-Shadow-Lösung

Idee: Verwenden Sie die Größe des vierten Parameters (Ausdehnungsradius) von Box-Shadow, Codebeispiel für Mehrfachprojektion:

  <div Klasse="border-multiple">
        Implementierungslösung 1 für mehrere Rahmen: Box-Shadow
    </div>

    .border-mehrere {
        Rand: 50px automatisch;
        Polsterung: 20px;
        Breite: 600px; 
        Hintergrundfarbe: #fff; 
        Kastenschatten: 0 0 0 10px #f0f,
                    0 0 0 15px #00f,
                    0 2px 15px 15px rgba( 0, 0, 0, .8);
    } 

Bildbeschreibung hier einfügen

Mehrere Ränder - Box-Shadow

Zusammenfassung:

1. Schatten haben keinen Einfluss auf das Layout und werden nicht von der Box-Größe beeinflusst
2. Unterstützt kommagetrennte Syntax, Sie können beliebig viele Projektionen erstellen
3. Nachteile: Es können nur feste Ränder realisiert werden, andere Randarten können nicht realisiert werden

2. Lösung skizzieren

Codebeispiel:

  <div Klasse="border-outline">
        Lösung 2 zur Implementierung mehrerer Grenzen: Überblick
    </div>
    .border-outline {
        Rand: 200px automatisch;
        Polsterung: 20px;
        Breite: 600px;
        Hintergrundfarbe: #ff0;
        Umriss: 3px gestrichelt #0f0;
        Umriss-Offset: -10px;
    } 

Bildbeschreibung hier einfügen

Mehrere Ränder – Umriss

Zusammenfassung:

1. Die Prämisse besteht darin, zwei Grenzebenen zu erreichen
2. Der Attributwert für den Umrissversatz kann erforderlich sein
3. Der Standardstrich der Kontur ist ein Rechteck. Wenn eine abgerundete Ecke vorhanden ist, wird dies als Fehler betrachtet und kann nicht an die abgerundete Ecke angepasst werden.
4. Die Kommasyntax wird nicht unterstützt

2. Abgerundete Ecken der Ränder[2]

Hintergrund: Box-Shadow, Umriss
Um den Fehler im obigen Beispiel 3 zu beheben, können Sie den Box-Shadow-Erweiterungsradius verwenden, um die Lücke zwischen den abgerundeten Ecken und dem Umriss zu füllen.
Codebeispiel:

  <div Klasse="Innenrundung">
         Um dies zu erreichen, müssen Box-Shadow, Umrisse und „mehrere Ränder“ verwendet werden. Hinweis: Der Erweiterungsradius von Box-Shadow sollte das 0,5-fache des Radius der Ecke betragen.</div> 
    .innere Rundung {
        Hintergrundfarbe: #ccc;
        Rand: 50px automatisch;
        Polsterung: 20px;
        Breite: 600px; 
        Polsterung: 20px;
        Rahmenradius: 20px;
        Kastenschatten: 0 0 0 10px #f00;
        Umriss: 10px durchgezogen #f00;
    }

Hinweis: Der Erweiterungsradius des Boxschattens sollte das 0,5-fache des Radius der Ecken betragen. Genau genommen sollte er das (√2 ​​- 1)-fache betragen. Zur besseren Berechnung wird hier 0,5 verwendet.

Bildbeschreibung hier einfügen

Umrandung Innenecken

3. Durchscheinender Rand[3]

Hintergrundwissen: RGBA- oder HSLA-Farbattribute, Hintergrundclip
Idee: Lassen Sie den Rahmen in der Padding-Box des abgeschnittenen Hintergrunds erscheinen. Codebeispiel:

   <div Klasse="border-opacity">
         Implementierung eines halbtransparenten Rahmens</div>
    .border-opacity {
        Rand: 50px automatisch;
        Polsterung: 20px;
        Breite: 600px;
        Rand: 10px durchgezogener hsla (0, 0 %, 100 %, 0,5);
        Hintergrundfarbe: #fff;
        Hintergrundclip: Polsterbox;
    }

Zusammenfassung:

Die Implementierung des halbtransparenten Rahmens erfordert die Verwendung der background-clip-Eigenschaft von CSS3
Der Hintergrundclip hat drei Eigenschaften:
1. border-box: Der Hintergrund wird auf die Border-Box zugeschnitten (der Rand ist nicht sichtbar)
2. padding-box: Der Hintergrund wird auf die padding-box zugeschnitten (der Rand ist sichtbar)
3. Inhaltsbox: Der Hintergrund wird auf die Inhaltsbox zugeschnitten (der Rand liegt nah am Inhalt)

Bildbeschreibung hier einfügen

Diagramm mit durchscheinendem Randeffekt

4. Durchgehende Bildränder[4]

Hintergrundwissen: CSS-Farbverlauf, grundlegendes Rahmenbild, Hintergrundclip
Schauen wir uns zunächst an, wie border-image den Bildrand implementiert:
Das Implementierungsprinzip von border-image ist die Neun-Raster-Erweiterungsmethode: Schneiden Sie das Bild in neun Teile und wenden Sie diese dann auf die entsprechenden Kanten und Ecken des Elementrahmens an.
Codebeispiel:

   <p class="border-image">Das Implementierungsprinzip von border-image ist die Neun-Raster-Erweiterungsmethode: Schneiden Sie das Bild in neun Teile und wenden Sie diese dann auf die entsprechenden Kanten und Ecken des Elementrahmens an. </p>
        <p class="border-image">Wir möchten nicht, dass ein bestimmter Teil des Bildes an der Ecke fixiert ist. Stattdessen soll sich der an der Ecke angezeigte Bildbereich ändern, wenn sich Breite, Höhe und Rahmenstärke des Elements ändern. </p>
        .Rahmenbild {
            Rand: 40px durchgehend transparent;
            Rahmenbild: 33,334 % URL („http://csssecrets.io/images/stone-art.jpg“);
            Polsterung: 1em;
            maximale Breite: 20em;
            Schriftart: 130 %/1,6 Baskerville, Palatino, Serifen;
        }
        .border-image:nth-child(2) {
            Rand oben: 1em;
            Rahmenbild-Wiederholung: rund;
        } 

Bildbeschreibung hier einfügen

Randbild-Effektdiagramm

Nachteile: Wir möchten nicht, dass ein bestimmter Bildteil an der Ecke fixiert ist, sondern dass sich der Bildbereich, der an der Ecke erscheint, mit der Breite, Höhe und Rahmenstärke des Elements verändert.
Wie kann man das Problem lösen?
Umsetzungsideen:
1. Verwenden Sie CSS-Farbverlaufs- und Hintergrunderweiterungen
2. Überlagern Sie auf dem Hintergrundbild eine Ebene mit reinweißem Volltonhintergrund
3. Damit der Hintergrund der unteren Ebene durch den Randbereich hindurch sichtbar wird, müssen Sie für die beiden Hintergrundebenen unterschiedliche Hintergrund-Clip-Werte angeben.
4. Legen Sie die Hintergrundfarbe unten für die verschiedenen Hintergründe fest. Verwenden Sie einen CSS-Farbverlauf von Weiß zu Weiß, um den Effekt eines rein weißen, einfarbigen Hintergrunds zu simulieren.

Codebeispiel:

 <p class="contituous-images">Ideen zur Umsetzung:
            1. Verwenden Sie CSS-Farbverläufe und Hintergrunderweiterungen. 2. Legen Sie einen rein weißen, einfarbigen Hintergrund über das Hintergrundbild. 3. Damit der untere Hintergrund durch den Randbereich hindurch sichtbar ist, müssen Sie für die beiden Hintergründe unterschiedliche Hintergrund-Clip-Werte angeben. 4. Legen Sie die Hintergrundfarbe unten für die mehreren Hintergründe fest. Sie müssen einen CSS-Farbverlauf von Weiß nach Weiß verwenden, um den Effekt eines rein weißen, einfarbigen Hintergrunds zu simulieren.</p>
        .kontinuierliche-Bilder {
            Polsterung: 1em;
            Rand: 1em durchgehend transparent;
            /* Hintergrund: linearer Farbverlauf (weiß, weiß),
                            URL (http://csssecrets.io/images/stone-art.jpg);
            Hintergrundgröße: Abdeckung;
            Hintergrund-Clip: Polsterbox, Rahmenbox;
            Hintergrundherkunft: Rahmenbox; */

            /* Hintergrund kann auch wie folgt abgekürzt werden*/
            Hintergrund: linearer Farbverlauf (weiß, weiß) Polsterbox,
            URL (http://csssecrets.io/images/stone-art.jpg) Rahmenbox 0 / Cover;

            Breite: 21em;
            Polsterung: 1em;
            Überlauf: versteckt;
            /*Rand kann gezogen werden*/
            Größe ändern: beides;
            Schriftart: 100 %/1,6 Baskerville, Palatino, Serifen;
        } 

Bildbeschreibung hier einfügen
Durchgehender Bildrand

Sie können auch Verlaufsmuster verwenden, um Codebeispiele im Umschlagstil zu erzielen

Sie können auch Verlaufsmuster verwenden, um Umschlag-ähnliche Ränder zu erstellen

<p class="envelope-border">Sie können auch Verlaufsmuster verwenden, um Umschlag-ähnliche Ränder zu erstellen</p>
.Umschlagrand {
    Polsterung: 1em;
    Rand: 0,5em durchgehend transparent;
    Hintergrund: linearer Farbverlauf (weiß, weiß) Polsterbox, sich wiederholender linearer Farbverlauf (-45 Grad, rot 0, rot 12,5 %, transparent 0, transparent 25 %, #58a 0, #58a 37,5 %, transparent 0, transparent 50 %) 0/3em 3em;
    maximale Breite: 20em;
    Schriftart: 100 %/1,6 Baskerville, Palatino, Serifen;} 

Bildbeschreibung hier einfügen

Hüllkurvenrand-Effektdiagramm

Dies ist das Ende dieses Artikels mit Tipps zur Implementierung verschiedener Rahmen in CSS. Weitere relevante CSS-Rahmeninhalte finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

<<:  So ändern Sie den Benutzer und die Gruppe einer Datei in Linux

>>:  Lösung für das Problem, dass Elemente mit negativem Z-Index nicht angeklickt werden können

Artikel empfehlen

So löschen Sie Dateinamen oder Verzeichnisse mit Sonderzeichen in Linux

Löschen einer Datei anhand ihrer Inode-Nummer Ver...

MySQL 5.7.18 Installations-Tutorial unter Windows

In diesem Artikel wird erklärt, wie Sie MySQL aus...

Beispielcode für CSS-Bildanimationseffekte (Fotorahmen)

Dieser Artikel stellt den Beispielcode für CSS-Bi...

Der Implementierungsprozess der ECharts Multi-Chart-Verknüpfungsfunktion

Wenn viele Daten angezeigt werden müssen, ist die...

Detaillierte Erklärung zur Verwendung von HTML-Einbettungs-Tags und -Attributen

1. Grundlegende Grammatik Code kopieren Der Code ...

Bedingtes Rendering von Vue (v-if und v-show)

Inhaltsverzeichnis 1. v-wenn 2. Verwenden Sie v-i...

HTML+CSS zum Erstellen eines Menüs in der oberen Navigationsleiste

Navigationsleiste erstellen: Technische Vorausset...

So verwenden Sie „union all“ in MySQL, um die Union-Sortierung zu erhalten

Manchmal kommt es in einem Projekt aus irreversib...

HTML-Tbody-Verwendung

Strukturierte Tabelle (nur IExplore) 1) Gruppieren...

CentOS 6 verwendet Docker zum Bereitstellen eines Zookeeper-Betriebsbeispiels

Dieser Artikel beschreibt, wie man mit Docker Zoo...