Cheatsheet

← Voltar para página principal
CSS3 Cheatsheet

Guia completo de CSS3 para desenvolvimento web moderno e responsivo

🎨 O que é CSS3?

📖 Definição

CSS3 é a terceira versão das Cascading Style Sheets, a linguagem de estilo usada para descrever a apresentação de documentos HTML. CSS3 introduziu módulos, animações, transições e recursos avançados de layout.

💪 Por que aprender?

• Design responsivo e adaptativo
• Animações e transições nativas
• Layout modernos (Flexbox, Grid)
• Variáveis e funções avançadas
• Compatibilidade cross-browser

🚀 O que você pode fazer?

• Interfaces web modernas
• Design responsivo
• Animações e micro-interações
• Layouts complexos
• Temas e personalização

💡 Onde você vai usar:
🌐 Web
React, Vue, Angular
📱 Mobile
Responsive Design
Modern
Grid, Flexbox, Variables
🎨 Design
Animations, Transitions
Filtro ativo:Todos
Total: 12 categoriasBásico: 4Intermediário: 4Avançado: 4

🎯 Seletores Básicos

Use quando: Precisa selecionar e estilizar elementos HTML básicos

📋Seletores de Elemento

Básico
p { color: blue; }

# Seleciona todos os parágrafos

Básico
h1 { font-size: 2em; }

# Seleciona todos os h1

Básico
div { margin: 10px; }

# Seleciona todas as divs

Básico
span { display: inline; }

# Seleciona todos os spans

📋Seletores de Classe

Básico
.classe { color: red; }

# Seleciona elementos com classe

Básico
.btn-primary { background: blue; }

# Botão primário

Básico
.text-center { text-align: center; }

# Texto centralizado

Básico
.hidden { display: none; }

# Elemento oculto

📋Seletores de ID

Básico
#header { position: fixed; }

# Elemento com ID específico

Básico
#main-content { max-width: 1200px; }

# Conteúdo principal

Básico
#sidebar { width: 300px; }

# Barra lateral

Básico
#footer { margin-top: 50px; }

# Rodapé

📋Seletores Combinados

Básico
div.container { width: 100%; }

# Div com classe específica

Básico
ul.nav li { display: inline; }

# Li dentro de ul com classe

Básico
#header .logo { float: left; }

# Elemento com classe dentro de ID

Básico
article.post h2 { color: #333; }

# H2 dentro de article com classe

📦 Box Model

Use quando: Precisa controlar espaçamento, dimensões e bordas dos elementos

📋Dimensões

Básico
width: 300px;

# Largura

Básico
height: 200px;

# Altura

Básico
max-width: 100%;

# Largura máxima

Básico
min-height: 100vh;

# Altura mínima

Básico
box-sizing: border-box;

# Inclui padding e border

📋Margin (Espaço Externo)

Básico
margin: 10px;

# Todos os lados

Básico
margin: 10px 20px;

# Vertical 10px, horizontal 20px

Básico
margin: 10px 15px 20px 25px;

# Top, right, bottom, left

Básico
margin-top: 20px;

# Apenas topo

Básico
margin: 0 auto;

# Centraliza horizontalmente

📋Padding (Espaço Interno)

Básico
padding: 15px;

# Todos os lados

Básico
padding: 10px 20px;

# Vertical 10px, horizontal 20px

Básico
padding: 5px 10px 15px 20px;

# Top, right, bottom, left

Básico
padding-left: 30px;

# Apenas esquerda

Básico
padding: 1em;

# Unidade relativa

📋Border (Borda)

Básico
border: 1px solid #ccc;

# Borda completa

Básico
border-radius: 5px;

# Bordas arredondadas

Básico
border-radius: 50%;

# Forma circular

Básico
border-top: 2px dashed red;

# Borda superior

Básico
border: none;

# Remove borda

📝 Tipografia

Use quando: Precisa estilizar texto, fontes e tipografia

📋Fontes

Básico
font-family: Arial, sans-serif;

# Família de fontes

Básico
font-family: "Helvetica Neue", Helvetica;

# Fontes com espaços

Básico
font-family: "Times New Roman", serif;

# Fonte serif

Básico
font-family: "Courier New", monospace;

# Fonte monoespaçada

Básico
font-family: Georgia, "Times New Roman", serif;

# Fontes alternativas

📋Tamanho e Peso

Básico
font-size: 16px;

# Tamanho em pixels

Básico
font-size: 1em;

# Tamanho relativo ao pai

Básico
font-size: 1rem;

# Tamanho relativo à raiz

Básico
font-weight: bold;

# Negrito

Básico
font-weight: 300;

# Peso da fonte (100-900)

📋Estilo e Decoração

Básico
font-style: italic;

# Itálico

Básico
text-decoration: underline;

# Sublinhado

Básico
text-decoration: none;

# Remove decoração (links)

Básico
text-transform: uppercase;

# Maiúsculas

Básico
text-transform: capitalize;

# Primeiras letras maiúsculas

📋Alinhamento e Espaçamento

Básico
text-align: center;

# Centraliza texto

Básico
text-align: justify;

# Justifica texto

Básico
line-height: 1.5;

# Altura da linha

Básico
letter-spacing: 1px;

# Espaçamento entre letras

Básico
word-spacing: 2px;

# Espaçamento entre palavras

🎨 Cores e Fundos

Use quando: Precisa definir cores, fundos e efeitos visuais

📋Cores do Texto

Básico
color: #333333;

# Cor hexadecimal

Básico
color: rgb(51, 51, 51);

# Cor RGB

Básico
color: rgba(51, 51, 51, 0.8);

# Cor RGB com transparência

Básico
color: hsl(0, 0%, 20%);

# Cor HSL

Básico
color: inherit;

# Herda cor do pai

📋Cores de Fundo

Básico
background-color: #f5f5f5;

# Cor de fundo sólida

Básico
background: linear-gradient(to right, #ff7e5f, #feb47b);

# Gradiente linear

Básico
background: radial-gradient(circle, #ff7e5f, #feb47b);

# Gradiente radial

Básico
background: url("image.jpg");

# Imagem de fundo

Básico
background-size: cover;

# Imagem cobre todo elemento

📋Propriedades de Fundo

Básico
background-repeat: no-repeat;

# Não repete imagem

Básico
background-position: center center;

# Posiciona imagem no centro

Básico
background-attachment: fixed;

# Fundo fixo ao rolar

Básico
background-blend-mode: multiply;

# Modo de mistura de fundos

Básico
opacity: 0.8;

# Transparência do elemento

📋Cores Modernas

Básico
color: currentColor;

# Cor atual do elemento

Básico
fill: #333;

# Cor de preenchimento (SVG)

Básico
stroke: #666;

# Cor da borda (SVG)

Básico
filter: brightness(1.2);

# Ajuste de brilho

Básico
filter: saturate(1.5);

# Saturação

📐 Layout e Posicionamento

Use quando: Precisa controlar o layout e posicionamento dos elementos

📋Display

Intermediário
display: block;

# Elemento em bloco

Intermediário
display: inline;

# Elemento em linha

Intermediário
display: inline-block;

# Elemento em linha com bloco

Intermediário
display: none;

# Oculta elemento

Intermediário
display: flex;

# Container flexbox

Intermediário
display: grid;

# Container grid

📋Position

Intermediário
position: static;

# Posicionamento padrão

Intermediário
position: relative;

# Relativo ao seu lugar

Intermediário
position: absolute;

# Relativo ao pai posicionado

Intermediário
position: fixed;

# Fixo na viewport

Intermediário
position: sticky;

# Fixo ao rolar até certo ponto

📋Posicionamento com Coordenadas

Intermediário
top: 0;

# Distância do topo

Intermediário
right: 0;

# Distância da direita

Intermediário
bottom: 0;

# Distância da base

Intermediário
left: 0;

# Distância da esquerda

Intermediário
z-index: 100;

# Empilhamento de elementos

📋Float e Clear

Intermediário
float: left;

# Flutua à esquerda

Intermediário
float: right;

# Flutua à direita

Intermediário
clear: both;

# Limpa floats anteriores

Intermediário
clear: left;

# Limpa float à esquerda

Intermediário
overflow: hidden;

# Contém floats (clearfix)

🔧 Flexbox

Use quando: Precisa criar layouts flexíveis e responsivos

📋Container Flexbox

Intermediário
display: flex;

# Cria container flex

Intermediário
flex-direction: row;

# Direção dos itens (padrão)

Intermediário
flex-direction: column;

# Direção vertical

Intermediário
flex-wrap: wrap;

# Permite quebra de linha

Intermediário
justify-content: center;

# Alinhamento horizontal

Intermediário
align-items: center;

# Alinhamento vertical

📋Justify Content

Intermediário
justify-content: flex-start;

# Alinha ao início

Intermediário
justify-content: flex-end;

# Alinha ao fim

Intermediário
justify-content: center;

# Centraliza

Intermediário
justify-content: space-between;

# Espaça entre itens

Intermediário
justify-content: space-around;

# Espaça ao redor dos itens

Intermediário
justify-content: space-evenly;

# Espaçamento igual

📋Align Items e Content

Intermediário
align-items: stretch;

# Estica para preencher

Intermediário
align-items: flex-start;

# Alinha ao topo

Intermediário
align-items: flex-end;

# Alinha à base

Intermediário
align-items: center;

# Centraliza verticalmente

Intermediário
align-items: baseline;

# Alinha na linha base

Intermediário
align-content: center;

# Alinha linhas (com wrap)

📋Itens Flexbox

Intermediário
flex: 1;

# Item flexível cresce igualmente

Intermediário
flex: 2;

# Item flexível cresce 2x mais

Intermediário
flex-grow: 1;

# Capacidade de crescer

Intermediário
flex-shrink: 0;

# Não encolhe

Intermediário
flex-basis: 200px;

# Tamanho base

Intermediário
align-self: center;

# Alinhamento individual

🔲 CSS Grid

Use quando: Precisa criar layouts complexos bidimensionais

📋Container Grid

Intermediário
display: grid;

# Cria container grid

Intermediário
grid-template-columns: 1fr 1fr 1fr;

# 3 colunas iguais

Intermediário
grid-template-columns: 200px 1fr;

# Coluna fixa + flexível

Intermediário
grid-template-columns: repeat(3, 1fr);

# Repete colunas

Intermediário
grid-template-rows: auto 1fr auto;

# Linhas do grid

Intermediário
gap: 20px;

# Espaçamento entre itens

📋Grid Template Areas

Intermediário
grid-template-areas:

# Define áreas do grid

Intermediário
"header header header"

# Primeira linha

Intermediário
"sidebar main main"

# Segunda linha

Intermediário
"footer footer footer";

# Terceira linha

Intermediário
grid-area: header;

# Área do elemento

📋Posicionamento Grid

Intermediário
grid-column: 1 / 3;

# Ocupa colunas 1-2

Intermediário
grid-row: 2 / 4;

# Ocupa linhas 2-3

Intermediário
grid-column: span 2;

# Ocupa 2 colunas

Intermediário
grid-row: span 3;

# Ocupa 3 linhas

Intermediário
grid-area: 1 / 1 / 3 / 4;

# Posição completa

📋Alinhamento Grid

Intermediário
justify-items: center;

# Alinha itens horizontalmente

Intermediário
align-items: center;

# Alinha itens verticalmente

Intermediário
justify-content: center;

# Alinha grid horizontalmente

Intermediário
align-content: center;

# Alinha grid verticalmente

Intermediário
place-items: center;

# Alinha ambos

📱 Responsividade

Use quando: Precisa criar layouts que se adaptam a diferentes telas

📋Media Queries

Intermediário
@media (max-width: 768px) {

# Dispositivos móveis

Intermediário
.container { width: 100%; }

# Ajuste para mobile

Intermediário
}

# Fecha media query

Intermediário
@media (min-width: 769px) {

# Dispositivos maiores

Intermediário
.container { width: 750px; }

# Ajuste para desktop

Intermediário
}

# Fecha media query

📋Breakpoints Comuns

Intermediário
@media (max-width: 576px) { }

# Extra small (xs)

Intermediário
@media (max-width: 768px) { }

# Small (sm)

Intermediário
@media (max-width: 992px) { }

# Medium (md)

Intermediário
@media (max-width: 1200px) { }

# Large (lg)

Intermediário
@media (max-width: 1400px) { }

# Extra large (xl)

📋Técnicas Responsivas

Intermediário
max-width: 100%;

# Imagem responsiva

Intermediário
height: auto;

# Mantém proporção

Intermediário
font-size: calc(16px + 0.5vw);

# Fonte fluida

Intermediário
width: 100vw;

# Largura da viewport

Intermediário
height: 100vh;

# Altura da viewport

📋Unidades Responsivas

Intermediário
width: 50vw;

# 50% da viewport width

Intermediário
height: 100vh;

# 100% da viewport height

Intermediário
font-size: 4vw;

# 4% da viewport width

Intermediário
margin: 2vh;

# 2% da viewport height

Intermediário
min-width: 320px;

# Largura mínima

✨ Animações e Transições

Use quando: Precisa adicionar movimento e interatividade aos elementos

📋Transições

Avançado
transition: all 0.3s ease;

# Transição suave

Avançado
transition: color 0.5s linear;

# Transição de cor

Avançado
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);

# Curva de animação

Avançado
transition-delay: 0.2s;

# Atraso na transição

Avançado
transition-duration: 0.5s;

# Duração da transição

📋Transformações 2D

Avançado
transform: translateX(50px);

# Move horizontalmente

Avançado
transform: translateY(20px);

# Move verticalmente

Avançado
transform: rotate(45deg);

# Rotaciona

Avançado
transform: scale(1.2);

# Aumenta tamanho

Avançado
transform: skewX(15deg);

# Inclina horizontalmente

📋Transformações 3D

Avançado
transform: rotateX(45deg);

# Rotaciona no eixo X

Avançado
transform: rotateY(45deg);

# Rotaciona no eixo Y

Avançado
transform: rotateZ(45deg);

# Rotaciona no eixo Z

Avançado
transform: perspective(1000px) rotateX(45deg);

# Perspectiva 3D

Avançado
transform-style: preserve-3d;

# Mantém contexto 3D

📋Animações

Avançado
@keyframes slideIn {

# Define animação

Avançado
from { transform: translateX(-100%); }

# Estado inicial

Avançado
to { transform: translateX(0); }

# Estado final

Avançado
}

# Fecha keyframe

Avançado
animation: slideIn 0.5s ease-in-out;

# Aplica animação

🔍 Pseudo-classes e Pseudo-elementos

Use quando: Precisa estilizar estados específicos ou adicionar conteúdo dinâmico

📋Pseudo-classes de Estado

Avançado
:hover { color: blue; }

# Mouse sobre elemento

Avançado
:active { transform: scale(0.95); }

# Elemento sendo clicado

Avançado
:focus { outline: 2px solid blue; }

# Elemento focado

Avançado
:visited { color: purple; }

# Link já visitado

Avançado
:link { color: blue; }

# Link não visitado

📋Pseudo-classes Estruturais

Avançado
:first-child { font-weight: bold; }

# Primeiro filho

Avançado
:last-child { margin-bottom: 0; }

# Último filho

Avançado
:nth-child(odd) { background: #f0f0f0; }

# Filhos ímpares

Avançado
:nth-child(even) { background: #fff; }

# Filhos pares

Avançado
:nth-child(3) { color: red; }

# Terceiro filho

📋Pseudo-classes de Formulário

Avançado
:checked { transform: scale(1.2); }

# Checkbox/radio marcado

Avançado
:disabled { opacity: 0.5; }

# Elemento desabilitado

Avançado
:enabled { cursor: pointer; }

# Elemento habilitado

Avançado
:required { border: 2px solid red; }

# Campo obrigatório

Avançado
:valid { border-color: green; }

# Campo válido

📋Pseudo-elementos

Avançado
::before { content: "→"; }

# Antes do conteúdo

Avançado
::after { content: "←"; }

# Depois do conteúdo

Avançado
::first-line { font-weight: bold; }

# Primeira linha

Avançado
::first-letter { font-size: 2em; }

# Primeira letra

Avançado
::selection { background: yellow; }

# Texto selecionado

🚀 Propriedades Avançadas

Use quando: Precisa criar efeitos visuais avançados e modernos

📋Filtros e Efeitos

Avançado
filter: blur(5px);

# Desfoque

Avançado
filter: brightness(1.2);

# Brilho

Avançado
filter: contrast(1.5);

# Contraste

Avançado
filter: grayscale(100%);

# Escala de cinza

Avançado
filter: sepia(50%);

# Efeito sépia

Avançado
filter: hue-rotate(90deg);

# Rotação de matiz

📋Sombreamento

Avançado
box-shadow: 0 2px 4px rgba(0,0,0,0.1);

# Sombra suave

Avançado
box-shadow: 0 4px 8px rgba(0,0,0,0.2);

# Sombra média

Avançado
box-shadow: 0 8px 16px rgba(0,0,0,0.3);

# Sombra forte

Avançado
text-shadow: 2px 2px 4px rgba(0,0,0,0.3);

# Sombra no texto

Avançado
box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);

# Sombra interna

📋Gradientes Avançados

Avançado
background: linear-gradient(45deg, #ff7e5f, #feb47b);

# Gradiente diagonal

Avançado
background: radial-gradient(circle, #ff7e5f, #feb47b);

# Gradiente radial

Avançado
background: conic-gradient(from 0deg, #ff7e5f, #feb47b, #ff7e5f);

# Gradiente cônico

Avançado
background: repeating-linear-gradient(45deg, #ff7e5f, #ff7e5f 10px, #feb47b 10px, #feb47b 20px);

# Gradiente repetido

📋Clipping e Masking

Avançado
clip-path: circle(50%);

# Recorte circular

Avançado
clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);

# Recorte poligonal

Avançado
clip-path: ellipse(50% 40% at 50% 50%);

# Recorte elíptico

Avançado
mask-image: url("mask.png");

# Máscara de imagem

Avançado
backdrop-filter: blur(5px);

# Desfoque do fundo

🎨 CSS Custom Properties

Use quando: Precisa criar temas, manter consistência ou facilitar manutenção

📋Declaração de Variáveis

Avançado
:root {

# Declaração global

Avançado
--primary-color: #3498db;

# Cor primária

Avançado
--secondary-color: #2ecc71;

# Cor secundária

Avançado
--font-size-base: 16px;

# Tamanho base

Avançado
--spacing-unit: 8px;

# Unidade de espaçamento

Avançado
}

# Fecha declaração

📋Uso de Variáveis

Avançado
color: var(--primary-color);

# Usa variável de cor

Avançado
font-size: var(--font-size-base);

# Usa variável de tamanho

Avançado
margin: var(--spacing-unit);

# Usa variável de espaçamento

Avançado
padding: calc(var(--spacing-unit) * 2);

# Calcula com variável

📋Variáveis com Fallback

Avançado
color: var(--primary-color, #333);

# Com valor padrão

Avançado
font-size: var(--font-size-base, 16px);

# Com fallback

Avançado
background: var(--bg-color, var(--white, #fff));

# Fallback aninhado

📋Variáveis Dinâmicas

Avançado
@media (prefers-color-scheme: dark) {

# Modo escuro

Avançado
--primary-color: #5dade2;

# Cor para modo escuro

Avançado
--bg-color: #1a1a1a;

# Fundo para modo escuro

Avançado
}

# Fecha media query

🤝 Contribuindo

Encontrou um erro? Quer melhorar um cheatsheet? Tem uma sugestão? Adoraríamos suas contribuições! Abra uma issue ou submeta um PR.

Gostou do projeto? Apoie o desenvolvimento com um café e ajude a manter tudo open source ☕