Estruturas, Estilos e Comportamentos na Web
Ao final das primeiras 9 horas, você dominará o funcionamento do navegador, saberá estruturar páginas limpas e semânticas de acordo com padrões modernos de SEO, criará layouts responsivos profissionais e dará vida a interfaces com scripts interativos em JavaScript.
⏱️ Horas 1-3: Estrutura e Semântica (HTML5 & Antigravity)
Hora 01: O Mapa da Web e o Novo Paradigma
O objetivo desta primeira hora é nivelar o conhecimento, apresentar as "regras do jogo" e demonstrar como a inteligência artificial muda radicalmente a forma como construímos para a web.
🏗️ A Tríade da Web Moderna (A Metáfora da Construção)
Pense no desenvolvimento web através de uma analogia física de construção civil:
- HTML (A Estrutura): É o esqueleto, as vigas e os tijolos da casa. Define onde fica cada elemento e o que ele representa (títulos, parágrafos, imagens, menus).
- CSS (O Design): É o acabamento, a pintura, a iluminação e a arquitetura de interiores. Transforma o esqueleto cinza em uma interface bonita, organizada e adaptável a telas menores (responsividade).
- JavaScript (O Comportamento): É a fiação elétrica, o encanamento e a automação. Dá vida, movimento, interatividade e lógica à casa (sistemas que reagem a cliques, enviam mensagens, etc.).
🌌 Apresentando o Antigravity
- O que é: Mais do que um editor de código tradicional, é um ambiente de desenvolvimento integrado com inteligência artificial inteligente.
- O papel da IA: Atua como seu copiloto. Em vez de gastar horas memorizando a sintaxe exata de cada tag ou comando do CSS/JavaScript, você aprende a dar a instrução correta para a IA gerar a fundação do código, permitindo que você se concentre na arquitetura, revisão e orquestração do produto final.
- Instalação do Ambiente: Baixe o instalador adequado para o seu sistema operacional (Windows, macOS ou Linux) na página oficial:
🤖 O que é um LLM (Large Language Model)?
LLM (Grande Modelo de Linguagem) é a tecnologia de inteligência artificial por trás de ferramentas como o Gemini e o copiloto do Antigravity. Trata-se de um modelo matemático treinado com um volume massivo de textos (livros, artigos, páginas da web e código-fonte) para prever e gerar linguagem humana ou código com alto nível de coerência.
- A Metáfora do Autocompletar Inteligente: Pense no corretor ortográfico do seu celular, mas treinado em supercomputadores. O modelo não possui sentimentos ou consciência; ele simplesmente calcula estatisticamente qual palavra deve vir depois da outra para completar a sua instrução de forma ideal.
- Agilidade no Desenvolvimento: No desenvolvimento web, o LLM traduz instruções em linguagem natural (ex: "crie um botão azul que escurece ao passar o mouse") diretamente em linhas limpas de HTML/CSS/JS em segundos.
🧠 Potencializando o Trabalho (A Mudança de Mindset)
Deixamos de ser apenas "digitadores de código" para assumir o papel de arquitetos de soluções. Dominar a formulação de pedidos precisos (engenharia de prompt) permite entregar componentes inteiros funcionando em questão de segundos, acelerando exponencialmente o processo de prototipagem e desenvolvimento.
🌐 O que é um Site?
Um site (ou sítio eletrônico) é um conjunto de páginas web interligadas, hospedadas em servidores e acessíveis através de um domínio de internet (como jorgebatista.com). Cada página é composta por arquivos estruturados contendo informações que seu navegador sabe interpretar (HTML, CSS e JavaScript).
🔄 O Modelo Cliente-Servidor (A Metáfora do Restaurante)
A comunicação fundamental da internet se baseia em duas partes principais:
- O Cliente (Seu Navegador): É o cliente do restaurante. Ele olha a URL e faz um pedido específico de dados (ex: "Quero ver a página de contatos") enviando uma **Requisição HTTP**.
- O Servidor (Computador Hospedeiro): É o cozinheiro e o garçom. Ele recebe o pedido, processa a solicitação (lê dados no SQLite, prepara o conteúdo) e envia de volta uma **Resposta HTTP** com os arquivos de código correspondentes.
🏠 Ambiente Local vs. Ambiente Hospedado
- Ambiente Local (Localhost): É a sua "cozinha de testes". O site roda apenas dentro do seu computador local (ex: no endereço
http://localhost:8000). É ideal para desenvolver, testar código e cometer erros em total segurança. - Ambiente Hospedado (Produção): É o "restaurante aberto ao público". Os arquivos do site são publicados em um servidor ativo 24 horas por dia (conectado a um IP público e a um domínio como
curso.jorgebatista.com), tornando-o acessível a qualquer pessoa no mundo com acesso à internet.
1. Primeiros Passos com HTML (Linguagem de Marcação)
O primeiro ponto crucial: HTML não é uma linguagem de programação (ela não possui lógica de decisão, loops ou cálculos). Trata-se de uma Linguagem de Marcação de Hipertexto (HyperText Markup Language), usada para estruturar e dar significado ao conteúdo da tela através de etiquetas chamadas "tags".
Estrutura Básica: Tags, Propriedades e Estilos
Toda tag HTML segue uma estrutura padrão:
<tag nome_propriedade="valor" style="propriedade_css: valor;"> Conteúdo Visível </tag>
- Tags (Elementos): Delimitam e definem o tipo do elemento (ex:
<p>para parágrafo,<h1>para título principal,<button>para botão). - Propriedades (Atributos): Modificam o comportamento do elemento. Por exemplo, o atributo
id="botao-enviar"cria um identificador único, eplaceholder="Digite aqui..."adiciona um texto de dica dentro do campo de texto. - Estilos (Styles): Definem a aparência visual diretamente na tag (CSS inline, ex:
style="color: red;"). Embora seja melhor usar arquivos CSS separados, estilos inline nos ajudam a entender como alteramos o visual das tags de forma imediata.
Dimensões Essenciais: Width e Height
Para controlar o tamanho ocupado por qualquer caixa (elemento) na página, usamos duas propriedades principais de estilo CSS:
- Width (Largura): Define a extensão horizontal de um elemento. Pode ser declarada em pixels (ex:
width: 300px;) ou porcentagem (ex:width: 100%;para ocupar a largura inteira da tela). - Height (Altura): Define a extensão vertical de um elemento (ex:
height: 120px;).
A Divisão Mestra: <head> vs. <body>
Todo documento HTML se divide em duas grandes partes após a tag raiz <html>:
- <head> (Cabeçalho): É o cérebro invisível do site. Contém configurações de codificação de caracteres (
meta charset), configurações de responsividade (viewport), links para fontes externas, arquivos CSS e o título da aba do navegador. O usuário final não vê esses elementos renderizados na tela. - <body> (Corpo): É a parte visível. Tudo o que você vê na tela (textos, imagens, formulários, botões, containers) fica obrigatoriamente dentro da tag body.
Elementos de Conexão e Mídia: Links e Imagens
Um site moderno vive de conexões e conteúdo visual. Para isso, usamos duas tags fundamentais:
- Links (<a> - Âncora): Criam hiperlinks para outras páginas ou arquivos. Necessitam do atributo
href(hypertext reference) com o endereço de destino.
Dica: O atributo<a href="https://jorgebatista.com" target="_blank">Visitar site</a>target="_blank"faz o link abrir em uma aba nova do navegador. - Imagens (<img>): Elemento para renderizar fotos, banners ou ícones. Ela não possui tag de fechamento (ela se autofecha) e necessita de dois atributos obrigatórios:
src(caminho físico ou URL da imagem) ealt(texto alternativo, que descreve a imagem para leitores de tela e robôs de busca do Google).<img src="assets/banner.png" alt="Pré-visualização do painel do SmartCopy AI">
⏱️ 4.1 HTML5 Semântico
O HTML5 revolucionou a forma como organizamos as páginas. Antigamente, havia a famosa "Sopa de Divs", onde todas as divisões do site eram criadas usando a genérica tag <div> (ex: <div class="topo">, <div class="rodape">). Isso tornava o código confuso e ilegível para motores de busca como o Google (SEO).
Hoje, se você quiser que seu site posicione bem no Google, você e a IA precisam utilizar as tags semânticas corretas:
<header>
Representa o topo do site, contendo geralmente a marca principal e o menu de navegação.
<main>
O conteúdo principal da página. Deve existir apenas **um** por documento e englobar a informação única da página.
<section>
Define blocos de assunto dentro da página (ex: Seção de Serviços, Seção de Planos, Contato).
<footer>
O rodapé do site. Abriga informações de copyright, links secundários e redes sociais.
Imagine o HTML5 semântico como a planta de uma casa: a tag <header> é o hall de entrada, as tags <section> são os diferentes cômodos (quarto, sala, cozinha), o <main> indica a área útil principal habitável e o <footer> é a área externa nos fundos.
2. Código Base do Projeto Âncora: HTML do SmartCopy AI
Abaixo está a estrutura semântica inicial que criaremos para a interface da nossa ferramenta:
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SmartCopy AI | Gerador de Copywriting Persuasivo</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header class="app-header">
<div class="brand">🚀 SmartCopy AI</div>
<span class="status-badge">Modo Beta</span>
</header>
<main class="app-container">
<section class="editor-section">
<h1>Otimize sua Copy com Inteligência Artificial</h1>
<p>Insira o seu título ou texto de vendas atual e escolha uma fórmula de conversão.</p>
<form id="copy-form">
<div class="form-group">
<label for="input-text">Texto Original:</label>
<textarea id="input-text" placeholder="Ex: Aprenda programação hoje mesmo." required></textarea>
</div>
<div class="form-group">
<label for="formula-select">Fórmula de Copy:</label>
<select id="formula-select">
<option value="aida">AIDA (Atenção, Interesse, Desejo, Ação)</option>
<option value="pas">PAS (Problema, Agitação, Solução)</option>
</select>
</div>
<button type="submit" class="btn-generate">Gerar Variações</button>
</form>
</section>
<section class="preview-section">
<h2>Resultado Gerado pela IA</h2>
<div id="result-box" class="placeholder-box">
Seu texto gerado aparecerá aqui...
</div>
</section>
</main>
<footer class="app-footer">
<p>© 2026 SmartCopy AI. Desenvolvido na Mentoria de IA.</p>
</footer>
</body>
</html>
Utilize este prompt no chat da IA para que ela crie ou melhore a estrutura semântica e tags meta de acessibilidade do seu site:
⏱️ Horas 4-6: Estilização e Responsividade (CSS3 Moderno)
1. Box Model e Disposição com Flexbox e Grid
Tudo na web é uma caixa (Box Model). Para alinhar essas caixas lado a lado, ou empilhá-las em telas de celulares, usamos seletores modernos do CSS:
- Flexbox: Ideal para distribuições lineares unidimensionais (linhas ou colunas individuais, como o header).
- CSS Grid: Ideal para layouts bidimensionais complexos (grades estruturais de linhas + colunas lado a lado, como a divisão entre formulário e área de preview).
2. Folha de Estilo Inicial: style.css
:root {
--void: #06080f;
--surface: #0f1318;
--slate: #1c2028;
--soft: #9aa0b0;
--bright: #eaecf2;
--accent: #0084ff;
}
body {
background-color: var(--void);
color: var(--soft);
font-family: sans-serif;
margin: 0;
padding: 0;
}
.app-header {
background-color: var(--surface);
border-bottom: 1px solid var(--slate);
padding: 1rem 2rem;
display: flex;
justify-content: space-between;
align-items: center;
}
.brand {
font-size: 1.25rem;
font-weight: bold;
color: var(--bright);
}
.app-container {
max-width: 1200px;
margin: 2rem auto;
padding: 0 1.5rem;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 2rem;
}
.editor-section, .preview-section {
background-color: var(--surface);
border: 1px solid var(--slate);
border-radius: 12px;
padding: 2rem;
}
textarea {
width: 100%;
min-height: 120px;
background-color: var(--void);
border: 1px solid var(--slate);
color: var(--bright);
border-radius: 8px;
padding: 0.75rem;
resize: vertical;
}
.btn-generate {
background-color: var(--accent);
color: white;
border: none;
padding: 0.75rem 1.5rem;
border-radius: 8px;
font-weight: bold;
cursor: pointer;
width: 100%;
transition: background-color 0.2s;
}
.btn-generate:hover {
background-color: #006cd4;
}
/* Responsividade Mobile-First */
@media (max-width: 768px) {
.app-container {
grid-template-columns: 1fr;
}
}
⏱️ Horas 7-9: Dinâmica e Comportamento (JavaScript)
1. O DOM e a Interatividade
O DOM (Document Object Model) é a representação do seu HTML na memória do navegador. Usando JavaScript, podemos acessar esse DOM, escutar eventos (como cliques em botões) e alterar dinamicamente o conteúdo da tela sem precisar recarregar a página.
2. Script de Controle: app.js
document.addEventListener('DOMContentLoaded', () => {
const form = document.getElementById('copy-form');
const inputText = document.getElementById('input-text');
const formulaSelect = document.getElementById('formula-select');
const resultBox = document.getElementById('result-box');
form.addEventListener('submit', (event) => {
// Evita o recarregamento padrão da página ao enviar formulário
event.preventDefault();
const originalText = inputText.value;
const chosenFormula = formulaSelect.value;
resultBox.innerText = 'Processando com Inteligência Artificial...';
resultBox.style.color = 'var(--accent)';
// Simulação de chamada assíncrona da IA
setTimeout(() => {
let copyResult = '';
if (chosenFormula === 'aida') {
copyResult = `📢 ATENÇÃO: ${originalText}!\n` +
`🎯 INTERESSE: Descubra como economizar tempo e focar no que importa.\n` +
`💎 DESEJO: Domine a tecnologia que as grandes empresas usam diariamente.\n` +
`⚡ AÇÃO: Clique aqui agora e garanta sua vaga!`;
} else {
copyResult = `❌ PROBLEMA: Você se sente travado tentando escrever textos persuasivos?\n` +
`🔥 AGITAÇÃO: Perder clientes porque suas páginas não convertem é frustrante.\n" +
`✅ SOLUÇÃO: Com o SmartCopy AI, você gera variações profissionais em 3 segundos.`;
}
resultBox.innerText = copyResult;
resultBox.style.color = 'var(--bright)';
}, 1500);
});
});