background-clip
Baseline
Widely available
*
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.
La propriété CSS background-clip définit si l'arrière-plan d'un élément s'étend sous son cadre de bordure, son cadre de remplissage ou son cadre de contenu.
Exemple interactif
background-clip: border-box;
background-clip: padding-box;
background-clip: content-box;
background-clip: text;
color: transparent;
<section id="default-example">
<div id="example-element">Ceci est le contenu de l'élément.</div>
</section>
#example-element {
background-image: url("/shared-assets/images/examples/leopard.jpg");
color: white;
text-shadow: 2px 2px black;
padding: 20px;
border: 10px dashed #333333;
font-size: 2em;
font-weight: bold;
}
Syntaxe
/* Valeurs avec un mot-clé */
background-clip: border-box;
background-clip: padding-box;
background-clip: content-box;
background-clip: text;
background-clip: border-area;
/* Valeurs globales */
background-clip: inherit;
background-clip: initial;
background-clip: revert;
background-clip: revert-layer;
background-clip: unset;
Valeurs
border-box-
L'arrière-plan s'étend jusqu'à la limite externe de la bordure. L'arrière-plan sera situé sous la bordure en termes d'ordre z.
padding-box-
Aucun arrière-plan n'est dessiné dans la boîte de bordure. L'arrière-plan s'étend jusqu'à la limite de la boîte de remplissage (padding).
content-box-
L'arrière-plan est limité (rogné) à la boîte de contenu.
text-
L'arrière-plan est limité (rogné) au texte en premier plan.
border-areaNon standard-
L'arrière-plan est peint à l'intérieur (rogné à) de la zone peinte par la bordure, en tenant compte de
border-widthetborder-style, mais en ignorant toute transparence introduite parborder-color.
Description
L'arrière-plan est toujours dessiné derrière la bordure, donc background-clip: border-box n'a un effet visuel que si la bordure est partiellement opaque ou comporte des zones transparentes ou partiellement opaques. De plus, la propriété background-clip: text a peu ou pas d'effet visuel si le texte est totalement ou partiellement opaque.
Note :
Comme l'élément racine possède une zone de peinture d'arrière-plan différente, la propriété background-clip n'a aucun effet lorsqu'elle est appliquée sur celui-ci. Voir « Les arrière-plans des éléments spéciaux (angl.) »
Note :
Pour les documents dont l'élément racine est un élément HTML : si la valeur calculée de background-image sur l'élément racine est none et que sa background-color est transparent, les agents utilisateur doivent alors propager les valeurs calculées des propriétés background depuis le premier enfant HTML <body> de cet élément. Les valeurs utilisées pour les propriétés background de cet élément <body> sont leurs valeurs initiales, et les valeurs propagées sont traitées comme si elles étaient définies sur l'élément racine. Il est recommandé que les auteur·ice·s de documents HTML définissent l'arrière-plan du canevas pour l'élément <body> plutôt que pour l'élément HTML.
Accessibilité
Lorsque vous utilisez background-clip: text, vérifiez que le contraste entre la couleur d'arrière-plan et la couleur du texte placé dessus est suffisamment élevé pour que les personnes en situation de basse vision puissent lire le contenu de la page.
Si l'image d'arrière-plan ne se charge pas, cela peut aussi rendre le texte illisible. Ajoutez une couleur d'arrière-plan de secours avec background-color pour éviter ce problème, et testez sans l'image.
Pensez à utiliser des requêtes de fonctionnalités avec @supports pour tester la prise en charge de background-clip: text et fournir une alternative accessible si ce n'est pas pris en charge.
Définition formelle
| Valeur initiale | border-box |
|---|---|
| Applicabilité | tous les éléments. S'applique aussi à ::first-letter et ::first-line. |
| Héritée | non |
| Valeur calculée | comme spécifié |
| Type d'animation | une liste répétable |
Syntaxe formelle
background-clip =
<bg-clip>#
<bg-clip> =
<visual-box> |
[ border-area || text ]
<visual-box> =
content-box |
padding-box |
border-box
Exemples
>HTML
<p class="border-box">L'arrière-plan s'étend sous la bordure.</p>
<p class="padding-box">L'arrière-plan s'étend jusqu'avant la bordure.</p>
<p class="content-box">L'arrière-plan s'arrête à la boîte de contenu.</p>
<p class="text">L'arrière-plan se limite au texte au premier-plan.</p>
<p class="border-area">
L'arrière-plan est rogné à la zone peinte par la bordure.
</p>
CSS
p {
border: 0.8em darkviolet;
border-style: dotted double;
margin: 1em 0;
padding: 1.4em;
background: linear-gradient(60deg, red, yellow, red, yellow, red);
font: 900 1.2em sans-serif;
text-decoration: underline;
}
.border-box {
background-clip: border-box;
}
.padding-box {
background-clip: padding-box;
}
.content-box {
background-clip: content-box;
}
.text {
background-clip: text;
color: rgb(0 0 0 / 20%);
}
.border-area {
background-clip: border-area;
border-color: transparent;
}
Résultat
Spécifications
| Specification |
|---|
| CSS Backgrounds and Borders Module Level 3> # background-clip> |
| CSS Backgrounds Module Level 4> # background-clip> |
Compatibilité des navigateurs
Voir aussi
- La propriété
clip-pathcrée une région de rognage qui définit quelle partie de l'élément entier doit être affichée. - Les propriétés d'arrière-plan :
background,background-color,background-image,background-origin - Introduction au modèle de boîtes CSS