Estrutura HTML
Page Title

Hello World

Elementos Comuns
Texto e Títulos

Heading 1

...
Heading 6

Paragraph text

Bold Italic

Links e Imagens
Link text #section">Anchor link Description
Listas
  1. First
Formulários
Tipos de Input
Select e Textarea
HTML Semântico
<header>Conteúdo introdutório ou container de navegação
<nav>Links de navegação
<main>Conteúdo principal da página (um por página)
<section>Agrupamento temático de conteúdo
<article>Conteúdo autossuficiente
<aside>Barra lateral ou conteúdo tangencial
<footer>Rodapé de seção ou página
<figure>Imagem/diagrama com legenda
<figcaption>Legenda para
Seletores CSS
Seletores Básicos
elementp { } — todos os elementos

.class.card { } — seletor de classe
#id#main { } — seletor de id
*Seletor universal (todos os elementos)
Combinadores
A BDescendente (B dentro de A)
A > BApenas filho direto
A + BIrmão adjacente (B logo após A)
A ~ BIrmão geral (B após A)
Pseudo-classes
:hoverMouse sobre o elemento
:focusElemento em foco
:first-childPrimeiro filho do pai
:nth-child(n)Enésimo filho (2n = par, odd = ímpar)
Box Model
.box { margin: 10px; /* outside */ border: 1px solid #333; /* edge */ padding: 15px; /* inside */ width: 200px; box-sizing: border-box; /* include pad+border */ }
Shorthand
margin: 10pxTodos os lados
margin: 10px 20pxTopo/base | esquerda/direita
margin: 10px 20px 15pxTopo | esquerda/direita | base
margin: 10px 20px 15px 5pxTopo | direita | base | esquerda
Flexbox
Container
.flex-container { display: flex; flex-direction: row; /* row | column */ justify-content: center; /* main axis */ align-items: center; /* cross axis */ gap: 10px; flex-wrap: wrap; }
Propriedades do Item
flex: 1Crescer para preencher espaço disponível
flex-grow: 2Proporção de crescimento relativa aos irmãos
flex-shrink: 0Não encolher abaixo da base
flex-basis: 200pxTamanho inicial antes de crescer/encolher
align-self: flex-endSubstituir alinhamento do container
order: -1Ordem visual (padrão 0)
Grid
Container
.grid { display: grid; grid-template-columns: 1fr 2fr 1fr; grid-template-rows: auto; gap: 10px; }
Posicionamento de Item
.item { grid-column: 1 / 3; /* span col 1-2 */ grid-row: 1 / 2; } /* shorthand: repeat, minmax */ grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
Posicionamento
staticFluxo padrão (sem propriedades de deslocamento)
relativeDeslocamento da posição normal
absoluteDeslocamento do ancestral posicionado mais próximo
fixedDeslocamento do viewport (permanece ao rolar)
stickyRelativo até o limiar de rolagem, depois fixo
Exemplo
.parent { position: relative; } .child { position: absolute; top: 0; right: 0; /* top-right corner */ }
Media Queries
/* Mobile-first: base styles for small screens */ .container { padding: 10px; } @media (min-width: 768px) { .container { max-width: 720px; } } @media (min-width: 1024px) { .container { max-width: 960px; } }
Breakpoints Comuns
480pxCelulares pequenos
768pxTablets
1024pxDesktops pequenos / tablets em paisagem
1280pxDesktops