Maison > interface Web > tutoriel CSS > Pourquoi une bordure transparente sur un dégradé linéaire provoque-t-elle un échange et un aplatissement des couleurs ?

Pourquoi une bordure transparente sur un dégradé linéaire provoque-t-elle un échange et un aplatissement des couleurs ?

Patricia Arquette
Libérer: 2024-11-21 19:48:22
original
395 Les gens l'ont consulté

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

Transparence sur fond dégradé : enquête sur un effet de bordure étrange

Lors de l'ajout d'une bordure transparente à un élément avec un arrière-plan dégradé linéaire, un un phénomène inhabituel se produit. Les couleurs le long des bords gauche et droit semblent incorrectes, comme si elles avaient été inversées. De plus, ces sections présentent une apparence aplatie.

Fragment HTML :

<div class="colors"></div>
Copier après la connexion

Configuration CSS :

.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);
}
Copier après la connexion

Cause de l'effet :

Ce problème se produit car le les points de début et de fin du dégradé sont positionnés sur les bords de la boîte de remplissage. Cependant, la bordure est tracée à l'extérieur de la zone de remplissage. Étant donné que l'arrière-plan se répète de chaque côté de la bordure, la bordure apparaît particulière.

Solution Utilisation de l'ombre de la boîte :

Pour reproduire l'effet visuel d'une bordure sans ce problème, pensez à utiliser un box-shadow :

box-shadow: inset 0 0 0 10px rgba(0, 0, 0, 0.2);
padding: 10px;
Copier après la connexion

Comme un box-shadow n'occupe pas de place, il est essentiel d'ajuster le padding en conséquence.

Diagramme de la Padding-Box et de la Border-Box :

[Image de la padding-box et de la border-box]

Démo en direct :

Explorez le comportement corrigé dans ce JSFiddle : http://jsfiddle.net/ilpo/fzndodgx/5/

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal