Como criar seu primeiro site do zero com HTML e CSS
Criar um site do zero é a porta de entrada para o universo do desenvolvimento web. Neste tutorial, você vai aprender a montar um projeto completo baseado no exemplo Top 10 Melhores Jogos do ano, usando as duas principais tecnologias front‑end:
HTML5 para a estrutura semântica
CSS3 para o estilo e responsividade
Ao final, você terá um site completo, pronto para hospedar no GitHub Pages, Netlify ou qualquer outro serviço de hosting.
Passo 1 — Estrutura de arquivos
Crie uma pasta para o projeto (top10-jogos) e, dentro dela, organize:
top10-jogos/
├── index.html
├── style.css
Passo 2 — Criar template básico HTML e CSS
Abra o
index.html.Insira a declaração do tipo de documento e as tags principais:
Abra o
style.css.Insira o seletor universal (*) para aplicar as regras a todos os elementos da página, e evitar inconsistências de margens e paddings entre navegadores.
/* style.css */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Segoe UI', sans-serif;
color: #fff;
background: linear-gradient(135deg, #1a1a2e, #16213e);
min-height: 100vh;
background-attachment: fixed;
background-size: cover;
line-height: 1.6;
padding: 0 20px;
}
Propriedades do *
margin: 0;→ zera todas as margens externas dos elementos.padding: 0;→ zera todo o espaçamento interno dos elementos.box-sizing: border-box;→ faz com que owidth/heightinclua padding e bordas no cálculo.
Propriedades do body
font-family: 'Segoe UI', sans-serif;→ define “Segoe UI” como fonte principal e “sans‑serif” como opção secundária.color: #fff;→ ajusta a cor do texto para branco.background: linear-gradient(135deg, #1a1a2e, #16213e);→ aplica um gradiente linear de 135° entre dois tons de azul‑escuro.min-height: 100vh;→ garante que o<body>tenha, no mínimo, 100% da altura da janela de visualização.background-attachment: fixed;→ fixa o fundo de forma que ele não se mova ao rolar a página.background-size: cover;→ faz com que o fundo cubra toda a área disponível, mantendo proporção.line-height: 1.6;→ define espaçamento entre linhas igual a 1,6 vezes o tamanho da fonte.padding: 0 20px;→ adiciona 20px de espaçamento interno nas laterais esquerda e direita.
Passo 3 — Configurar o head
Top 10 Melhores Jogos de 2025
<meta charset>define codificação de caracteres.<meta viewport>garante responsividade.<title>aparece na aba do navegador e nos resultados de busca.<link>conecta ostyle.css.
Passo 4 — Montar o header
Dentro de <body>, crie:
Top 10 Melhores Jogos de 2025
E no arquivo do style.css:
header {
text-align: center;
padding: 60px 20px 30px;
background: rgba(0, 0, 0, 0.4);
backdrop-filter: blur(5px);
border-bottom: 2px solid #00f2ff;
}
header h1 {
font-size: 2.5rem;
color: #00f2ff;
}
Propriedades do header
text-align: center;→ centraliza horizontalmente o conteúdo interno.padding: 60px 20px 30px;→ insere 60px acima, 20px nas laterais e 30px abaixo do conteúdo.background: rgba(0, 0, 0, 0.4);→ aplica fundo preto com 40% de opacidade.backdrop-filter: blur(5px);→ desfoca em 5px o que estiver atrás do elemento.border-bottom: 2px solid #00f2ff;→ cria uma linha sólida de 2px ciana na base.
Propriedades do header h1
font-size: 2.5rem;→ ajusta o tamanho da fonte para 2.5 vezes o tamanho base.color: #00f2ff;→ define a cor do texto como ciano.
Passo 5 — Criar a sessão de um jogo
Nesta etapa, vamos detalhar a marcação HTML de uma seção individual que exibe título, descrição, imagem e vídeo de um jogo.
1. Minecraft
Sandbox de sobrevivência e construção infinito, onde blocos tridimensionais formam um mundo gerado proceduralmente. Continua recebendo atualizações e abriga uma das maiores comunidades do mundo.
E no arquivo do style.css:
.conteudo {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 40px;
max-width: 1000px;
margin: 40px auto;
padding: 0 20px;
}
.jogo {
background: rgba(255, 255, 255, 0.05);
padding: 25px;
border-radius: 12px;
border: 1px solid rgba(255, 255, 255, 0.1);
transition: transform 0.3s ease;
display: flex;
flex-direction: column;
gap: 15px;
}
.jogo:hover {
transform: scale(1.02);
}
.jogo h2 {
color: #ffcb05;
font-size: 1.8rem;
}
.jogo-img {
width: 100%;
border-radius: 8px;
border: 2px solid #00f2ff;
object-fit: cover;
}
.jogo-img {
max-height: 300px;
}
Estilo do container principal:
display: grid;→ organiza itens em grade.grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));→ cria colunas responsivas que têm no mínimo 300px.gap: 40px;→ espaço de 40px entre linhas e colunas.max-width: 1000px;→ limita largura total do container.margin: 40px auto;→ centraliza horizontalmente e adiciona 40px de margem superior/inferior.padding: 0 20px;→ 20px de espaço interno nas laterais.
Estilo dos cards de jogo (.jogo):
background: rgba(255, 255, 255, 0.05);→ fundo semitransparente para destacar o card.padding: 25px;→ espaçamento interno ao redor do conteúdo.border-radius: 12px;→ cantos arredondados no card.border: 1px solid rgba(255, 255, 255, 0.1);→ borda sutil em torno do card.transition: transform 0.3s ease;→ animação suave no hover.display: flex; flex-direction: column; gap: 15px;→ empilha elementos verticalmente com espaçamento.transform: scale(1.02);→ aplica leve zoom no hover.color: #ffcb05;→ define o título em tom dourado.font-size: 1.8rem;→ ajusta o tamanho da fonte do título.width: 100%;→ faz a mídia preencher todo o espaço horizontal.border-radius: 8px;→ arredonda cantos de imagem e vídeo.border: 2px solid #00f2ff;→ borda ciana para destacar a mídia.object-fit: cover;→ mantém proporção e preenche a caixa.max-height: 300px;→ limita altura máxima da imagem.
Nota: dentro da tag 'main', crie 10 seções uma para cada jogo exibido no site.
Passo 6 — Adicionar o footer
Adicione ao final do <body> a marcação do rodapé e o carregamento do seu script:
E no arquivo do style.css:
footer {
text-align: center;
padding: 20px;
font-size: 14px;
background: rgba(0, 0, 0, 0.4);
border-top: 1px solid #00f2ff;
color: #ddd;
}
text-align: center;→ centraliza o texto horizontalmente.padding: 20px;→ adiciona 20px de espaço interno em todos os lados.font-size: 14px;→ define o tamanho da fonte em 14px.background: rgba(0, 0, 0, 0.4);→ cria um fundo preto com 40% de opacidade.border-top: 1px solid #00f2ff;→ adiciona uma borda fina ciana na parte superior.color: #ddd;→ define a cor do texto como cinza claro.
Conclusão
Neste tutorial de como criar seu primeiro site do zero com HTML5, CSS3, vimos como estruturar semanticamente a página com <header>, <main> e <footer>, construir seções de conteúdo responsivas em grid, estilizar com gradientes, texturas e efeitos de hover em CSS.







