Propriété background-clip

La propriété background-clip détermine comment le remplissage d'arrière-plan ou l'image d'arrière-plan sera positionné par rapport à l'élément : sous la bordure, uniquement à l'intérieur du padding ou uniquement sur le contenu.

Particularités

Prise en charge par les navigateurs

Tous les navigateurs modernes prennent en charge border-box, padding-box et content-box. La valeur text nécessite le préfixe -webkit- et est supportée dans Chrome, Safari, Edge.

Syntaxe

csssélecteur {
  background-clip: border-box | padding-box | content-box | text;
}

Valeurs

Valeur Description
border-box L'arrière-plan s'étend jusqu'au bord extérieur de la bordure (sous la bordure).
padding-box L'arrière-plan est rogné au bord intérieur de la bordure (ne passe pas sous le border).
content-box L'arrière-plan n'est affiché que sur le contenu (le padding est rogné).
text L'arrière-plan est rogné selon le texte.

Valeur par défaut : border-box.

Exemple . Valeur border-box

L'arrière-plan passe sous la bordure semi-transparente :

html<div id="elem"></div>
css#elem {
  background-clip: border-box;
  background-color: #ffd6d6;
  background-repeat: no-repeat;
  border: 10px dashed rgba(0,0,0,0.3);
  padding: 30px;
  width: 250px;
  height: 150px;
}

Результат:

Exemple . Valeur padding-box

L'arrière-plan ne passe pas sous la bordure :

html<div id="elem"></div>
css#elem {
  background-clip: padding-box;
  background-color: #ffd6d6;
  background-repeat: no-repeat;
  border: 10px dashed rgba(0,0,0,0.5);
  padding: 30px;
  width: 250px;
  height: 150px;
}

Результат:

Exemple . Valeur content-box

L'arrière-plan ne s'étend pas sur le padding :

html<div id="elem">
  text text text text text
  text text text text text
  text text text text text
</div>
css#elem {
  background-clip: content-box;
  background-color: #ffd6d6;
  background-repeat: no-repeat;
  border: 10px dashed rgba(0,0,0,0.3);
  padding: 30px;
  width: 250px;
  height: 150px;
}

Результат:

Exemple . Valeur text

L'arrière-plan est rogné selon le texte (nécessite -webkit-text-fill-color avec la valeur transparent) :

html<div id="elem">text text text</div>
css#elem {
  display: inline-block;
  background: linear-gradient(to right, red, blue);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  
  font-size: 40px;
  font-weight: bold;
}

Результат:

Voir aussi

  • la propriété background,
    qui est une propriété raccourcie pour l'arrière-plan
  • la propriété background-origin,
    qui définit la position d'origine de l'arrière-plan