CSS ::placeholder Pseudo Elemento
Use o seletor CSS ::placeholder para estilizar o texto de placeholder de campos de formulário. Veja exemplos e saiba mais.
O pseudo-elemento ::placeholder seleciona o texto de placeholder de um campo de formulário — a dica breve exibida dentro de um <input> ou <textarea> vazio que desaparece assim que o usuário começa a digitar. Ele corresponde apenas a elementos que possuem o atributo placeholder. Por padrão, os navegadores renderizam o texto de placeholder em uma cor cinza claro ou semitransparente.
A dica em si vem do atributo HTML placeholder, enquanto ::placeholder permite estilizar a aparência dessa dica — sua cor, fonte e assim por diante.
Quando usar
Recorra ao ::placeholder quando quiser que a dica seja legível sobre o fundo do seu formulário, ou para combinar com as cores da sua marca. Alguns pontos importantes a saber antes de estilizá-lo:
- Apenas um conjunto limitado de propriedades se aplica. Como o placeholder é um "pseudo conteúdo", você pode usar propriedades que afetam o próprio texto —
color,font-*,letter-spacing,text-decoration,opacity,backgrounde algumas outras. Propriedades de layout (comomarginouwidth) não têm efeito. - Mantenha contraste suficiente. O cinza claro padrão frequentemente não atende às diretrizes de contraste de acessibilidade. Se você redefinir a cor, certifique-se de que o texto permaneça legível.
- Um placeholder não é um label. Ele desaparece assim que o usuário digita, portanto nunca deve substituir um
<label>real. Use-o para um valor de exemplo, não para o nome do campo.
Prefixos de fornecedor (-webkit-, -moz-, -ms-) são legados e desnecessários para navegadores modernos. O seletor padrão ::placeholder é suportado em todos os lugares, então você pode escrever com segurança uma única regra ::placeholder.
Versão
Sintaxe
Exemplo de sintaxe CSS ::placeholder
::placeholder {
css declarations;
}Exemplo do seletor ::placeholder:
Exemplo CSS ::placeholder
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
input::placeholder {
color: #1c87c9;
font-size: 1.2em;
font-style: italic;
}
</style>
</head>
<body>
<h2>::placeholder selector example</h2>
<input placeholder="Type here..." />
</body>
</html>Exemplo do seletor ::placeholder usado em formulário:
Exemplo de código CSS ::placeholder
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
* {
box-sizing: border-box;
}
.container {
margin: 20px auto;
max-width: 250px;
background-color: #8ebf42;
padding: 20px;
}
input {
border: 1px solid #666666;
background-color: #eeeeee;
padding: 15px;
margin-bottom: 20px;
display: block;
width: 100%;
}
input::-webkit-input-placeholder {
color: #666666;
}
input::-moz-placeholder {
color: #666666;
}
input:-ms-input-placeholder {
color: #666666;
}
input::placeholder {
color: #666666;
}
</style>
</head>
<body>
<h2>::placeholder selector example</h2>
<div class="container">
<form>
<input type="text" placeholder="Lorem ipsum is simply..." />
<input type="date" placeholder="DD/MM/YYYY" />
</form>
</div>
</body>
</html>Exemplo do seletor ::placeholder com o atributo autofocus do HTML <input>:
Exemplo HTML de placeholder
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
label {
display: block;
color: #777777;
margin: 0 0 4px;
}
input {
border: 1px solid transparent;
padding: 15px;
font-size: 1.2em;
outline: 0;
}
input::placeholder {
color: #8ebf42;
}
label,
input {
font-family: sans-serif;
}
</style>
</head>
<body>
<h2>::placeholder selector example</h2>
<form action="#">
<div>
<label for="name">Name:</label>
<input id="name" name="name" type="text" placeholder="Enter your name here" autofocus />
</div>
</form>
</body>
</html>Tópicos relacionados
- Seletor CSS
:focus— estilize um campo enquanto o usuário está digitando nele. - Propriedade CSS
color— a propriedade mais frequentemente combinada com::placeholder. - Tag HTML
<input>e tag HTML<textarea>— os elementos que possuem o atributoplaceholder.