Propriedade background-clip
A propriedade background-clip define como
o preenchimento de fundo ou a imagem de fundo será
posicionada em relação ao elemento: sob a borda,
somente dentro do padding ou somente sobre o conteúdo.
Características
- Ao usar
border-boxcom bordas transparentes, o fundo será visível sob elas - O valor
textrequer prefixos de vendor para suporte completo - A propriedade funciona com gradientes e múltiplos fundos
- Com
border-radius, o fundo é cortado de acordo com os cantos arredondados
Suporte do navegador
Todos os navegadores modernos suportam border-box, padding-box e content-box.
O valor text requer o prefixo -webkit- e é suportado no Chrome, Safari, Edge.
Sintaxe
seletor {
background-clip: border-box | padding-box | content-box | text;
}
Valores
| Valor | Descrição |
|---|---|
border-box |
O fundo se estende até a borda externa (sob a borda). |
padding-box |
O fundo é cortado na borda interna (não passa sob o border). |
content-box |
O fundo é exibido somente sobre o conteúdo (cortado pelo padding). |
text |
O fundo é cortado de acordo com o texto. |
Valor padrão: border-box.
Exemplo . Valor border-box
O fundo passa sob a borda semitransparente:
<div id="elem"></div>
#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;
}
:
Exemplo . Valor padding-box
O fundo não passa sob a borda:
<div id="elem"></div>
#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;
}
:
Exemplo . Valor content-box
O fundo não passa sobre o padding:
<div id="elem">
texto texto texto texto texto
texto texto texto texto texto
texto texto texto texto texto
</div>
#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;
}
:
Exemplo . Valor text
O fundo é cortado de acordo com o texto (requer -webkit-text-fill-color
com o valor transparent):
<div id="elem">texto texto texto</div>
#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;
}
:
Veja também
-
a propriedade
background,
que é uma propriedade abreviada para o fundo -
a propriedade
background-origin,
que define a posição de origem do fundo