2. Textos
<h1> a <h6>: títulos
Seis níveis de título, do mais importante (h1) ao menos importante (h6). Use só um h1 por página e não pule níveis só por causa do tamanho: o tamanho se ajusta no CSS.
<h1>Título principal</h1>
<h2>Subtítulo</h2>
<h3>Seção menor</h3>
Resultado
Título principal
Subtítulo
Seção menor
<p>: parágrafo
Bloco de texto. O navegador coloca um espaço antes e depois de cada parágrafo.
<p>Este é um parágrafo.</p>
<p>Este é outro parágrafo.</p>
Resultado
Este é um parágrafo.
Este é outro parágrafo.
<strong>, <em>, <mark>, <small>
strong indica importância (negrito), em indica ênfase (itálico), mark destaca e small é para observações menores.
<p>Isto é <strong>importante</strong>, isto tem <em>ênfase</em>,
isto está <mark>destacado</mark> e <small>isto é nota</small>.</p>
Resultado
Isto é importante, isto tem ênfase, isto está destacado e isto é nota.
<br> e <hr>: quebra de linha e divisória
Duas tags vazias (sem fechamento). br pula uma linha dentro do mesmo texto; hr desenha uma linha separando assuntos.
<p>Rua das Flores, 123<br>São Paulo - SP</p>
<hr>
<p>Outro assunto.</p>
Resultado
Rua das Flores, 123
São Paulo - SP
Outro assunto.
<blockquote>: citação
Usado para citações longas, normalmente com recuo.
<blockquote>
A simplicidade é o último grau de sofisticação.
</blockquote>
Resultado
A simplicidade é o último grau de sofisticação.
<code> e <pre>: código
code marca um trecho de código dentro do texto. pre mantém espaços e quebras de linha exatamente como foram digitados. Para mostrar < e > na tela, escrevemos < e >.
<p>Use a tag <code><p></code> para parágrafos.</p>
Resultado
Use a tag <p> para parágrafos.
<span> e <div>: contêineres genéricos
Não têm significado próprio; servem para agrupar e estilizar. span é inline (fica dentro da linha), div é bloco (ocupa a linha inteira).
<p>Texto com uma <span class="azul">palavra azul</span>.</p>
<div class="caixa">Eu sou uma div.</div>
Resultado
Texto com uma palavra azul.
Eu sou uma div.
3. Links e imagens
<a>: link (âncora)
O atributo href diz para onde o link leva: outro site, outra página do projeto, um e-mail ou uma seção da mesma página (com #id). target="_blank" abre em nova aba.
<a href="https://developer.mozilla.org" target="_blank">Documentação MDN</a>
<a href="contato.html">Página de contato</a>
<a href="#estrutura">Voltar para Estrutura</a>
<img>: imagem
Tag vazia. src é o caminho da imagem e alt é o texto alternativo, lido por leitores de tela e mostrado se a imagem não carregar. Sempre preencha o alt.
<img src="img/foto.jpg" alt="Descrição da foto" width="300">
Resultado
<figure> e <figcaption>: imagem com legenda
Agrupa uma imagem (ou gráfico, código...) com sua legenda.
<figure>
<img src="img/grafico.png" alt="Gráfico de vendas">
<figcaption>Figura 1: vendas do ano.</figcaption>
</figure>
7. Tags semânticas (estrutura da página)
Tags semânticas funcionam como uma div, mas dizem o que é aquele bloco. Isso ajuda acessibilidade, SEO e a leitura do código. Esta própria página usa várias delas.
<header> Cabeçalho: logo, título </header>
<nav> Menu de navegação </nav>
<main>
<section> Seção temática
<article> Conteúdo independente (post, card) </article>
</section>
<aside> Conteúdo lateral, complementar </aside>
</main>
<footer> Rodapé: contato, direitos </footer>
<header>- Cabeçalho da página ou de uma seção.
<nav>- Conjunto principal de links de navegação.
<main>- Conteúdo principal. Apenas um por página.
<section>- Agrupa conteúdo de um mesmo tema, geralmente com um título.
<article>- Conteúdo que faz sentido sozinho: um post, uma notícia, um card de produto.
<aside>- Conteúdo relacionado, mas secundário (barra lateral, "veja também").
<footer>- Rodapé da página ou de uma seção.
10. Box model (modelo de caixa)
Todo elemento é uma caixa formada por quatro camadas, de dentro para fora:
.caixa {
width: 300px; /* largura do conteúdo */
padding: 20px; /* espaço INTERNO, entre conteúdo e borda */
border: 2px solid #333; /* borda: espessura, estilo, cor */
margin: 16px; /* espaço EXTERNO, entre esta caixa e as vizinhas */
border-radius: 8px; /* arredonda os cantos */
box-sizing: border-box; /* width passa a incluir padding e borda */
}
Atalhos de margin/padding: 10px (todos os lados) · 10px 20px (cima/baixo, esquerda/direita) · 10px 20px 30px 40px (cima, direita, baixo, esquerda, no sentido horário).
11. Cores, unidades e texto
Formas de escrever cores
tomatonome
#3451b2hexadecimal
rgb(46, 160, 67)RGB
rgba(0,0,0,.5)com transparência
Aqui usamos style="" inline só para mostrar cada cor; no dia a dia, prefira classes.
Unidades de medida
px- Pixels: tamanho fixo.
%- Porcentagem do elemento pai.
rem- Relativo ao tamanho da fonte da raiz (normalmente 16px).
2rem = 32px. Ótimo para fontes e espaçamentos.
em- Relativo ao tamanho da fonte do próprio elemento.
vw / vh- 1% da largura / altura da janela.
Propriedades de texto
.texto {
font-family: Arial, sans-serif; /* fonte (com alternativas) */
font-size: 1.25rem; /* tamanho */
font-weight: bold; /* espessura: normal, bold, 100 a 900 */
color: #3451b2; /* cor */
text-align: center; /* left, center, right, justify */
line-height: 1.6; /* altura da linha */
text-transform: uppercase; /* MAIÚSCULAS */
text-decoration: underline; /* sublinhado (none remove) */
}
Resultado
Texto estilizado