Resumo HTML & CSS

🔹 Estrutura Básica do HTML

<!DOCTYPE html>
<html lang="pt-BR">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Título</title>
  </head>
  <body>
    Conteúdo aqui
  </body>
</html>

🔹 Tags de Estrutura

TagDescrição
<html>Raiz do documento
<head>Metadados e links
<body>Conteúdo visível
<header>Cabeçalho
<nav>Navegação
<main>Principal conteúdo
<section>Seções de conteúdo
<article>Artigo independente
<aside>Conteúdo lateral
<footer>Rodapé
<div>Contêiner genérico
<span>Texto inline

🔹 Tags de Conteúdo

TagDescrição
<h1> a <h6>Títulos
<p>Parágrafo
<a href="">Link
<img src="">Imagem
<ul>, <ol>, <li>Listas
<strong>, <em>Negrito e itálico semântico
<br>Quebra de linha
<hr>Linha horizontal

🔹 Formulários

TagDescrição
<form>Formulário
<input>Campo de entrada
<label>Rótulo para input
<textarea>Área de texto
<button>Botão
<select>, <option>Menu suspenso

🟩 CSS – Estilização

Formas de uso:

Seletores:

* { }
body { }
h1 { }
.class { }
#id { }

Propriedades CSS comuns:

PropriedadeExemplo
colorcolor: red;
background-colorbackground-color: blue;
font-sizefont-size: 16px;
font-familyfont-family: Arial;
text-aligntext-align: center;
marginmargin: 20px;
paddingpadding: 10px;
borderborder: 1px solid black;
displaydisplay: flex;

🟩 Propriedades CSS Avançadas

PropriedadeDescriçãoExemplo
box-shadow Sombra ao redor do elemento box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
background-image Imagem de fundo background-image: url('img.jpg');
margin Espaço externo margin: 20px 10px;
padding Espaço interno padding: 10px 20px;
border-radius Arredonda bordas border-radius: 8px;
text-shadow Sombra no texto text-shadow: 1px 1px 3px gray;
position Posicionamento (static, relative, absolute, fixed) position: absolute;
z-index Camada de sobreposição z-index: 10;
transition Animação suave de propriedades transition: all 0.3s ease;

🎯 Dicas Extras: Pseudo-classes e Responsividade

🧱 Flexbox – Layout Flexível

display: flex;
  justify-content: center;   /* Alinha no eixo principal */
  align-items: center;       /* Alinha no eixo cruzado */

Outros valores úteis:

📐 Grid Layout – Layout em Grade

display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;

📏 Unidades CSS Comuns

UnidadeUso
pxPixels – tamanho fixo
%Porcentagem – relativo ao elemento pai
emRelativo ao tamanho da fonte atual
remRelativo ao tamanho da fonte da raiz (html)
vh / vwAltura e largura da tela (viewport)

🎞️ Animações com @keyframes

@keyframes desvanecer {
    from { opacity: 0; }
    to   { opacity: 1; }
  }
  
  .elemento {
    animation: desvanecer 1s ease-in-out;
  }

🎨 Variáveis CSS

:root {
    --cor-primaria: #3498db;
    --tamanho-fonte: 16px;
  }
  
  body {
    color: var(--cor-primaria);
    font-size: var(--tamanho-fonte);
  }

Útil para manter estilos consistentes e fáceis de alterar.

🌐 Seletor Universal: *

O seletor * aplica estilos a todos os elementos da página. Muito usado para resetar margens e paddings padrão dos navegadores.

/* Reset básico recomendado */
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

Dica: coloque esse reset no início do seu CSS para ter mais controle sobre o layout.

🧩 Pseudo-elementos CSS – ::before e ::after

Os pseudo-elementos permitem estilizar partes específicas de um elemento, como adicionar conteúdo antes ou depois dele.

h1::before {
  content: "👉 ";
  color: red;
}

p::after {
  content: " ✔️";
  color: green;
}

p::first-letter {
  font-size: 2rem;
  color: darkblue;
}

p::first-line {
  font-weight: bold;
}

Importante: para ::before e ::after, é obrigatório usar content: "";.

🖼️ Imagem de Fundo (Background Image)

Você pode aplicar uma imagem como fundo de um elemento usando a propriedade background-image.

body {
  background-image: url("caminho/da-imagem.jpg");
  background-size: cover;         /* cobre toda a área */
  background-position: center;    /* centraliza a imagem */
  background-repeat: no-repeat;   /* evita repetição */
}

🌄 Efeito Parallax com CSS

O efeito parallax dá a sensação de profundidade, fazendo com que o fundo pareça se mover mais lentamente que o conteúdo ao rolar a página.

.parallax {
  background-image: url("caminho/da-imagem.jpg");
  height: 400px;
  background-attachment: fixed;     /* fixa o fundo */
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

Use a classe parallax em uma <div> para criar o efeito:

<div class="parallax"></div>

Nota: o efeito background-attachment: fixed pode não funcionar em dispositivos móveis, então teste em diferentes navegadores.