Heim > Web-Frontend > CSS-Tutorial > Warum führt ein transparenter Rand auf einem linearen Farbverlauf zu Farbvertauschungen und Abflachungen?

Warum führt ein transparenter Rand auf einem linearen Farbverlauf zu Farbvertauschungen und Abflachungen?

Patricia Arquette
Freigeben: 2024-11-21 19:48:22
Original
361 Leute haben es durchsucht

Why Does a Transparent Border on a Linear Gradient Cause Color Swapping and Flattening?

Transparenz über Hintergrund mit Farbverlauf: Untersuchung eines seltsamen Randeffekts

Beim Hinzufügen eines transparenten Rahmens zu einem Element mit einem Hintergrund mit linearem Farbverlauf wird ein Es kommt zu einem ungewöhnlichen Phänomen. Die Farben am linken und rechten Rand erscheinen falsch, als ob sie vertauscht worden wären. Darüber hinaus weisen diese Abschnitte ein abgeflachtes Erscheinungsbild auf.

HTML-Fragment:

<div class="colors"></div>
Nach dem Login kopieren

CSS-Konfiguration:

.colors {
    width: 100px;
    border: 10px solid rgba(0, 0, 0, 0.2);
    height: 50px;
    background: linear-gradient(
        to right, 
        #78C5D6,
        #459BA8,
        #79C267,
        #C5D647,
        #F5D63D,
        #F08B33,
        #E868A2,
        #BE61A5);
}
Nach dem Login kopieren

Ursache des Effekts:

Dieses Problem tritt aufgrund des Farbverlaufs auf Start- und Endpunkte werden an den Rändern der Füllbox positioniert. Der Rand wird jedoch außerhalb des Füllfelds gezeichnet. Da sich der Hintergrund auf jeder Seite über den Rahmen hinweg wiederholt, erscheint der Rand eigenartig.

Lösung mit Box-Shadow:

Um den visuellen Effekt eines Rahmens zu reproduzieren Ohne dieses Problem sollten Sie die Verwendung eines Box-Shadow in Betracht ziehen:

box-shadow: inset 0 0 0 10px rgba(0, 0, 0, 0.2);
padding: 10px;
Nach dem Login kopieren

Da ein Box-Shadow keinen Platz einnimmt, ist es wichtig, die Polsterung anzupassen entsprechend.

Diagramm von Padding-Box und Border-Box:

[Bild von Padding-Box und Border-Box]

Live-Demo:

Entdecken Sie das korrigierte Verhalten in dieser JSFiddle: http://jsfiddle.net/ilpo/fzndodgx/5/

Das obige ist der detaillierte Inhalt vonWarum führt ein transparenter Rand auf einem linearen Farbverlauf zu Farbvertauschungen und Abflachungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage