W3docs

Propriedades CSS3

Referência agrupada das principais propriedades CSS3, organizada por módulo (Animação, Flexbox, Grid, Transforms e mais) com links para capítulos completos.

CSS3 é a evolução mais recente da linguagem Cascading Style Sheets. Em vez de ser um único lançamento monolítico, o CSS3 é dividido em módulos independentes — Animações, Flexbox, Grid Layout, Fundos e Bordas, Transforms, Filtros e mais — que os navegadores podem implementar e lançar separadamente. Cada módulo adicionou novas propriedades ao conjunto original do CSS2, oferecendo cantos arredondados, gradientes, sombras, animações, layouts flexíveis e baseados em grid, além de filtros visuais sem necessidade de imagens ou JavaScript.

Esta página é um índice de referência rápida das propriedades introduzidas ou significativamente estendidas no CSS3, organizadas pelo módulo ao qual pertencem. Cada linha leva a um capítulo completo com sintaxe, valores e exemplos ao vivo.

Se você é novo na linguagem, comece pelos capítulos Introdução ao CSS e Sintaxe CSS antes de se aprofundar em propriedades individuais.

Como Usar Esta Referência

  • Encontre uma propriedade por grupo. Os títulos abaixo espelham os módulos do CSS3, então se você precisa de uma propriedade de layout, procure em Flexible Box Layout ou Grid Layout; para movimento, procure em Animation ou Transitions; para efeitos visuais, procure em Filter Effects ou Transform Properties.
  • Clique para ver detalhes. Cada propriedade tem link para seu próprio capítulo com a lista completa de valores, padrões e demos executáveis.
  • Atenção ao suporte dos navegadores. Os módulos CSS3 alcançaram suporte estável e sem prefixo em momentos diferentes. A maioria das propriedades abaixo é segura em todos os navegadores modernos, mas sempre verifique o suporte para adições mais recentes (por exemplo, certas propriedades column-*) antes de utilizá-las em produção.

Uma Nota sobre Prefixos de Fornecedor

Enquanto os módulos CSS3 ainda eram experimentais, os navegadores lançavam propriedades com prefixos de fornecedor como -webkit-, -moz-, -ms- e -o-. Você ainda pode encontrá-los em bases de código mais antigas:

/* Older code — prefixes were needed during the experimental phase */
.box {
  -webkit-transform: rotate(15deg);
  -moz-transform:    rotate(15deg);
  transform:         rotate(15deg); /* Always list the unprefixed property last */
}

Para as propriedades listadas abaixo, você quase nunca precisa de prefixos hoje em dia — escreva o nome padrão sem prefixo. Use prefixos apenas quando precisar oferecer suporte a um navegador legado, e sempre liste a propriedade padrão por último para que ela sobreponha as demais.

CSS3 vs. CSS2 — O Que Mudou?

O CSS2 cobria o modelo de caixa fundamental, cores, fontes e posicionamento. O CSS3 construiu sobre essa base com as seguintes capacidades que estavam ausentes ou muito limitadas anteriormente:

  • Cantos arredondados e imagens de bordaborder-radius, border-image
  • Sombrasbox-shadow, text-shadow
  • Gradientes e múltiplos fundosbackground-size, background-clip
  • Layouts flexíveis e baseados em grid — Flexbox (flex, align-items, …), Grid (grid, grid-template-columns, …)
  • Transforms 2D e 3Dtransform, perspective
  • Transições suaves de estadotransition
  • Animações por keyframesanimation, @keyframes
  • Texto em múltiplas colunascolumn-count, column-gap
  • Filtros visuaisfilter (blur, brightness, contrast, …)
  • Transparência personalizadaopacity

Lista de Propriedades CSS3

Propriedades de Animação

As animações por keyframes permitem descrever como um elemento transita por uma série de instantâneos de estilo. A regra @keyframes define os instantâneos; as propriedades animation-* as vinculam e controlam em um elemento.

/* Minimal animation example */
@keyframes slide-in {
  from { transform: translateX(-100%); opacity: 0; }
  to   { transform: translateX(0);     opacity: 1; }
}

.banner {
  animation: slide-in 0.4s ease-out both;
}
PropriedadeDescrição
animationAbreviação que define todas as sub-propriedades de animação em uma única declaração.
animation-delayEspecifica quando uma animação começa (positivo = atraso; negativo = início no meio do ciclo).
animation-directionControla a direção de reprodução: normal, reverse, alternate ou alternate-reverse.
animation-durationDefine quanto tempo dura um ciclo de animação (ex.: 0.4s, 500ms).
animation-fill-modeDefine o estilo do elemento antes do início e/ou após o término da animação (forwards, backwards, both).
animation-iteration-countQuantas vezes a animação é reproduzida — um número ou infinite.
animation-nameNomeia a regra @keyframes a aplicar.
animation-play-statePausa (paused) ou retoma (running) uma animação — útil para botões de alternância.
animation-timing-functionCurva de easing para cada ciclo: ease, linear, ease-in-out, cubic-bezier(…), steps(…).
@keyframes (at-rule)Define os instantâneos de estilo intermediários (keyframes) pelos quais uma animação passa.

Propriedades de Fundo

O CSS3 estendeu os fundos para suportar dimensionamento, regiões de recorte e múltiplas imagens em camadas em um único elemento.

/* Responsive hero with background-size */
.hero {
  background-image: url('/img/hero.jpg');
  background-size: cover;       /* fills the box; crop as needed */
  background-position: center;
  background-clip: border-box;  /* default; image reaches border edge */
}
PropriedadeDescrição
background-clipControla até onde o fundo se estende — border-box, padding-box ou content-box.
background-originDefine a origem para background-positionborder-box, padding-box ou content-box.
background-sizeDefine o tamanho da imagem de fundo: um comprimento, auto, cover (preencher, pode cortar) ou contain (caber completamente).

Propriedades de Borda

O CSS3 adicionou cantos arredondados e bordas baseadas em imagens — recursos que antes exigiam truques com imagens.

/* Rounded button */
.btn {
  border-radius: 6px;
  border: 2px solid steelblue;
}

/* Pill shape */
.badge {
  border-radius: 999px;
}
PropriedadeDescrição
border-bottom-left-radiusArredonda o canto inferior esquerdo. Aceita um raio (círculo) ou dois (elipse).
border-bottom-right-radiusArredonda o canto inferior direito.
border-imageUsa uma imagem como borda, dividida em nove regiões.
border-image-outsetO quanto a imagem de borda se estende além da caixa de borda.
border-image-repeatSe as bordas da imagem são stretched (esticadas), repeated (repetidas) ou rounded (arredondadas).
border-image-sliceDivide a imagem fonte em nove fatias (quatro cantos, quatro bordas, centro).
border-image-sourceO URL da imagem ou gradiente usado como borda.
border-image-widthLargura das fatias da imagem de borda (pode diferir do border-width do CSS).
border-radiusAbreviação para os quatro raios de canto.
border-top-left-radiusArredonda o canto superior esquerdo.
border-top-right-radiusArredonda o canto superior direito.

Cor e Transparência

PropriedadeDescrição
opacityDefine a transparência de um elemento inteiro (e seus filhos), de 0 (invisível) a 1 (totalmente opaco). Para transparência por canal, use rgba() ou hsla() nos valores de color / background-color.

Efeitos de Filtro

A propriedade filter aplica efeitos gráficos (blur, brilho, contraste, sombra projetada, etc.) diretamente no CSS — sem editor de imagens necessário.

.card:hover img {
  filter: brightness(1.1) saturate(1.2);
  transition: filter 0.2s ease;
}

.modal-backdrop {
  filter: blur(4px);
}
PropriedadeDescrição
filterAplica uma ou mais funções de filtro: blur(), brightness(), contrast(), drop-shadow(), grayscale(), hue-rotate(), invert(), opacity(), saturate(), sepia() e url() (filtro SVG).

Flexible Box Layout

Flexbox é um modelo de layout unidimensional — distribui itens ao longo de um único eixo (linha ou coluna) e lida com alinhamento, espaçamento e quebra de linha automaticamente.

/* Classic centered card */
.card-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  align-items: stretch;
}

.card {
  flex: 1 1 300px; /* grow | shrink | basis */
}

Para um guia completo, consulte O Guia Definitivo do Flexbox.

PropriedadeDescrição
align-contentAlinha as linhas de um contêiner flex ao longo do eixo transversal quando há espaço extra (flex-start, flex-end, center, space-between, space-around, stretch).
align-itemsAlinhamento padrão no eixo transversal para todos os itens flex de um contêiner.
align-selfSubstitui align-items para um único item flex.
flexAbreviação para flex-grow, flex-shrink e flex-basis.
flex-basisO tamanho inicial de um item flex antes de o espaço livre ser distribuído.
flex-directionDireção do eixo principal: row, row-reverse, column ou column-reverse.
flex-flowAbreviação para flex-direction e flex-wrap.
flex-growO quanto um item flex cresce em relação aos irmãos quando há espaço extra.
flex-shrinkO quanto um item flex encolhe em relação aos irmãos quando o espaço é escasso.
flex-wrapSe os itens flex quebram para múltiplas linhas (nowrap, wrap, wrap-reverse).
justify-contentAlinha itens ao longo do eixo principal (flex-start, flex-end, center, space-between, space-around, space-evenly).
justify-itemsAlinhamento padrão no eixo inline para todos os itens de grid (também usado em grid).
orderAltera a ordem visual de um item flex ou grid sem modificar a ordem no DOM.

Propriedades de Fonte

PropriedadeDescrição
font-size-adjustPreserva o tamanho aparente do texto quando a fonte de primeira escolha não está disponível, ajustando o tamanho da fonte substituta para corresponder à proporção x-height.
font-stretchSeleciona uma variante condensada ou expandida de uma família de fontes (ex.: condensed, expanded, ultra-condensed).

Grid Layout

CSS Grid é um sistema de layout bidimensional — posiciona itens em linhas e colunas simultaneamente, tornando-o ideal para layouts de página e grids de componentes complexos.

/* Three-column responsive grid */
.layout {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.5rem;
}

/* Named template areas */
.page {
  display: grid;
  grid-template-areas:
    "header header"
    "sidebar main"
    "footer footer";
  grid-template-columns: 200px 1fr;
  grid-template-rows: auto 1fr auto;
}
PropriedadeDescrição
gridAbreviação para todas as propriedades do contêiner grid.
grid-areaAtribui um item de grid a uma área nomeada ou especifica sua posição de linha/coluna como abreviação.
grid-auto-columnsDefine o tamanho da coluna para trilhas criadas implicitamente (quando os itens ultrapassam o grid explícito).
grid-auto-flowControla como os itens posicionados automaticamente preenchem o grid (row, column, dense).
grid-auto-rowsDefine o tamanho da linha para trilhas criadas implicitamente.
grid-columnAbreviação para grid-column-start e grid-column-end.
grid-column-endOnde um item termina ao longo do eixo de coluna (número de linha, span ou nome).
grid-column-gapEspaço entre colunas (substituído por column-gap no CSS moderno).
grid-column-startOnde um item começa ao longo do eixo de coluna.
grid-gapAbreviação para row-gap e column-gap (nome antigo; prefira gap).
grid-rowAbreviação para grid-row-start e grid-row-end.
grid-row-endOnde um item termina ao longo do eixo de linha.
grid-row-gapEspaço entre linhas (substituído por row-gap no CSS moderno).
grid-row-startOnde um item começa ao longo do eixo de linha.
grid-templateAbreviação para grid-template-rows, grid-template-columns e grid-template-areas.
grid-template-areasDefine áreas de modelo nomeadas usando uma sintaxe de arte ASCII baseada em strings.
grid-template-columnsDefine o número e o tamanho das colunas explícitas (comprimentos, porcentagens, unidades fr, repeat(), minmax()).
grid-template-rowsDefine o número e o tamanho das linhas explícitas.

Propriedades de Layout Multi-Coluna

O layout multi-coluna distribui o conteúdo automaticamente por um número ou largura definida de colunas — semelhante ao layout de um jornal.

/* Two-column article body */
.article-body {
  columns: 2 400px;   /* shorthand: column-count column-width */
  column-gap: 2rem;
  column-rule: 1px solid #ddd;
}

h2 {
  column-span: all; /* heading breaks out of columns */
}
PropriedadeDescrição
column-countNúmero de colunas em que o conteúdo é dividido.
column-fillSe as colunas são balanceadas (balance) ou preenchidas sequencialmente (auto).
column-gapEspaço entre as colunas (também usado em Flexbox e Grid).
column-ruleAbreviação para a linha divisória entre as colunas (estilo, largura, cor).
column-rule-colorCor da linha entre as colunas.
column-rule-styleEstilo de linha da régua (solid, dashed, dotted, etc.).
column-rule-widthEspessura da linha entre as colunas.
column-spanSe um elemento abrange uma coluna (none) ou todas as colunas (all).
column-widthLargura ideal da coluna; o navegador cria quantas colunas couberem.
columnsAbreviação para column-count e column-width.

Propriedades de Contorno

PropriedadeDescrição
outline-offsetAfasta o contorno da borda do elemento (positivo = para fora; negativo = para dentro). Ao contrário das margens, não afeta o layout.

Propriedades de Texto

O CSS3 adicionou controle sobre overflow de texto, quebra, sombras e estilização refinada de decorações.

/* Truncate long titles with ellipsis */
.card-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Subtle heading shadow */
h1 {
  text-shadow: 1px 2px 4px rgba(0, 0, 0, 0.25);
}
PropriedadeDescrição
tab-sizeLargura de um caractere de tabulação em <pre> e blocos de código (número de espaços ou comprimento).
text-align-lastAlinhamento da última (ou única) linha em um bloco de texto justificado.
text-decoration-colorCor do sublinhado, sobrelinhado ou tachado.
text-decoration-lineQuais linhas de decoração são desenhadas: underline, overline, line-through ou none.
text-decoration-styleEstilo da linha de decoração: solid, double, dotted, dashed ou wavy.
text-justifyMétodo de justificação usado quando text-align: justify está ativo (auto, inter-word, inter-character).
text-overflowComo o texto inline em overflow é sinalizado: clip (cortar) ou ellipsis (mostrar ). Requer overflow: hidden e white-space: nowrap.
text-shadowAdiciona uma ou mais sombras ao texto. Sintaxe: offset-x offset-y blur-radius color.
word-breakOnde as quebras de linha ocorrem dentro das palavras: normal, break-all ou keep-all.
word-wrapSe o navegador pode quebrar uma palavra inquebrável para evitar overflow (normal ou break-word). Também padronizado como overflow-wrap.

Propriedades de Transform

Transforms movem, rotacionam, escalam ou inclinam elementos no espaço 2D ou 3D sem afetar o fluxo do documento.

/* 2D card flip on hover */
.card {
  perspective: 600px;
  transform-style: preserve-3d;
  transition: transform 0.5s ease;
}

.card:hover {
  transform: rotateY(180deg);
}

.card-back {
  backface-visibility: hidden;
}
PropriedadeDescrição
backface-visibilitySe a face traseira de um elemento transformado em 3D é visível quando está voltada para longe (visible ou hidden). Essencial para efeitos de virada de cartão.
perspectiveDistância do observador ao plano z=0; valores menores = efeito 3D mais dramático. Aplicado ao pai do elemento transformado.
perspective-originA posição x/y do ponto de fuga para o transform perspective.
transformAplica funções de transformação 2D ou 3D: translate(), rotate(), scale(), skew(), matrix() e suas variantes 3D.
transform-originO ponto em torno do qual um transform é aplicado (padrão: 50% 50% — centro do elemento).
transform-styleSe os filhos são renderizados no espaço 3D (preserve-3d) ou achatados no plano do elemento (flat).

Propriedades de Transição

As transições animam mudanças de propriedade de um valor a outro ao longo de uma duração especificada quando uma propriedade CSS muda (ex.: em :hover).

/* Smooth color + shadow on hover */
.btn {
  background-color: steelblue;
  box-shadow: none;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.btn:hover {
  background-color: dodgerblue;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

Transições vs. animações: use transition para mudanças orientadas por estado (hover, focus, active) — são mais simples de escrever. Use animation com @keyframes para movimentos independentes, em loop ou com múltiplas etapas que ocorrem sem interação do usuário.

PropriedadeDescrição
transitionAbreviação para transition-property, transition-duration, transition-timing-function e transition-delay.
transition-delayQuanto tempo aguardar antes de a transição começar.
transition-durationQuanto tempo a transição leva do início ao fim.
transition-propertyQual propriedade CSS (ou all) a transição se aplica.
transition-timing-functionA curva de velocidade da transição (ease, linear, ease-in, ease-out, ease-in-out, cubic-bezier(…), steps(…)).

Propriedades de Formatação Visual

PropriedadeDescrição
box-shadowAdiciona uma ou mais sombras ao redor da caixa de um elemento. Sintaxe: offset-x offset-y blur spread color. Use inset para uma sombra interna.
box-sizingDetermina se width e height incluem padding e borda (border-box) ou os excluem (content-box, padrão do CSS2). Quase todos os projetos modernos definem *, *::before, *::after { box-sizing: border-box; }.
overflow-xControla o overflow horizontal: visible, hidden, clip, scroll ou auto.
overflow-yControla o overflow vertical: visible, hidden, clip, scroll ou auto.
resizeTorna um elemento redimensionável pelo usuário: both, horizontal, vertical ou none. Requer que overflow seja diferente de visible.

Referências Relacionadas

Assim que souber qual propriedade precisa, estes capítulos cobrem os recursos CSS3 mais usados em profundidade:

Prática

Prática
Quais das seguintes são propriedades CSS3 válidas?
Quais das seguintes são propriedades CSS3 válidas?
Was this page helpful?