Propriedade Generated Content

Última atualização: 2026-09-13

content Propriedade Generated Content

A propriedade content insere conteúdo gerado antes ou depois de um elemento e é exigida pelos pseudo-elementos ::before e ::after. Ela pode inserir strings, imagens, valores de contador ou valores de atributo, e é usada com frequência para adicionar conteúdo decorativo, limpar floats ou mostrar URLs de links sem alterar o HTML.

Categoria
Valor Inicialnormal
HerdadoNão
Aplica-se A
Tipo de Animação
Versão CSSCSS2
StatusPadrão

📝 Sintaxe

content: normal | none | <string> | <image> | counter() | attr() | open-quote | close-quote | no-open-quote | no-close-quote;

⚙️ Valores

ValorTipoDescrição
normal | none | <string> | <image> | counter() | attr() | open-quote | close-quote | no-open-quote | no-close-quotePalavra-chaveConteúdo gerado

▶ Exemplo

Edite o código abaixo e veja o resultado ao vivo no playground:

🌐 Suporte dos Navegadores

Navegador ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
content v1 v12 v1 v1 v1
Suportado em todos os principais navegadores
Dica: content só tem efeito nos pseudo-elementos ::before e ::after; omiti-lo significa que o pseudo-elemento nem é gerado.
Importante: O conteúdo inserido via content não é lido por leitores de tela, então ele não deve conter informação crítica para entender a página.

❓ Perguntas Frequentes

QQual é a diferença entre a propriedade content e escrever direto no HTML?
AO conteúdo inserido via content vive na camada de apresentação: não faz parte do DOM, não pode ser selecionado ou copiado e não é indexado por mecanismos de busca — bom para decoração (ícones, símbolos de prefixo/sufixo, números de contador). O conteúdo com informação crítica deve estar no HTML, e como leitores de tela podem não anunciar o conteúdo gerado, ele não deve transmitir a semântica central.
QComo insiro uma imagem com content?
AUse content: url(image.png); para colocar uma imagem na posição do pseudo-elemento, útil para pequenos ícones antes de links ou títulos. Mas url() não dá controle sobre tamanho ou alinhamento. Prefira content: "" com background-image mais background-size, uma fonte de ícone ou um SVG inline.
QPor que ::before/::after sempre precisam de content: ""?
AUm pseudo-elemento só é gerado quando content é definido, mesmo uma string vazia ""; caso contrário, todo o pseudo-elemento não é renderizado. Usos comuns de um content vazio: desenhar elementos decorativos com position, limpar floats (content: "" + display: table) ou reservar espaço para um ícone de fundo. content é efetivamente o 'interruptor' que liga um pseudo-elemento.
QQuais valores content suporta?
AStrings (por exemplo, "✓"), imagens via url(), contadores via counter(name)/counters(), valores de atributo via attr(href), as palavras-chave de aspas open-quote/close-quote, e normal e none. attr() só lê atributos do tipo string; é comumente usada em estilos de impressão para mostrar a URL completa após links.

📚 Tutoriais Relacionados

Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%