Un sito web statico è composto da file HTML, CSS e JavaScript che vengono caricati così come sono dal server al browser dell’utente. Non richiede database o backend complessi, ed è perfetto per portfolio, blog, pagine di presentazione e documentazione.
Questa guida ti accompagnerà passo passo nella creazione di un sito statico moderno, spiegando i concetti fondamentali, le tecniche di sviluppo, l’organizzazione dei file e la pubblicazione gratuita su GitHub Pages.
Un sito statico è composto da contenuti fissi: ogni pagina è un file HTML che il browser mostra così com’è. Puoi aggiungere interattività con JavaScript e curare la grafica con CSS.
Quando scegliere un sito statico?
Vantaggi:
Installare questi strumenti ti permetterà di scrivere, testare e pubblicare il tuo sito.
Organizza il sito in una cartella principale, ad esempio miosito/
, con questa struttura:
miosito/
│
├── index.html
├── about.html
├── contact.html
├── style/
│ └── main.css
├── script/
│ └── main.js
├── images/
│ └── logo.png
└── README.md
HTML (HyperText Markup Language) è il linguaggio che struttura il contenuto delle pagine. Ogni file HTML contiene una “scheletro” di base:
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Nome Sito</title>
<link rel="stylesheet" href="style/main.css">
</head>
<body>
<header>
<h1>Benvenuto nel mio sito!</h1>
<nav>
<a href="index.html">Home</a>
<a href="about.html">Chi sono</a>
<a href="contact.html">Contatti</a>
</nav>
</header>
<main>
<section>
<h2>Presentazione</h2>
<p>Questo è il mio sito web personale.</p>
</section>
</main>
<footer>
<p>© 2025 Nome Cognome</p>
</footer>
<script src="script/main.js"></script>
</body>
</html>
Spiegazione delle principali sezioni:
head
: informazioni sulla pagina, collegamento a CSS, titolo.body
: tutto ciò che viene visualizzato dall’utente.header
: intestazione, logo, menu.main
: contenuto principale.footer
: informazioni e copyright.script
: collegamento al file JavaScript per aggiungere funzionalità.CSS (Cascading Style Sheets) serve per colorare, posizionare e rendere gradevole il sito. Esempio di file style/main.css
:
body {
font-family: 'Segoe UI', Arial, sans-serif;
background: #f5f7fa;
margin: 0;
color: #333;
}
header {
background: #004080;
color: #fff;
padding: 20px 0;
}
nav a {
color: #fff;
margin: 0 10px;
text-decoration: none;
font-weight: bold;
}
main {
padding: 30px 5vw;
}
footer {
background: #eee;
color: #555;
text-align: center;
padding: 15px 0;
font-size: 0.9em;
border-top: 1px solid #ccc;
}
Buone pratiche:
em
, rem
, %
, vw
).JavaScript permette di aggiungere interattività e funzionalità al sito. Esempio di file script/main.js
:
// Esempio: mostra un messaggio di benvenuto quando si carica la pagina
window.onload = function() {
console.log("Benvenuto nel sito!");
};
// Esempio: cambia il testo di un elemento al click
document.addEventListener('DOMContentLoaded', () => {
const titolo = document.querySelector('h1');
titolo.addEventListener('click', () => {
titolo.textContent = "Hai cliccato sul titolo!";
});
});
Suggerimenti utili:
Il “responsive design” permette al sito di adattarsi a schermi di ogni dimensione (PC, tablet, smartphone). Usa le media query nel CSS:
@media (max-width: 600px) {
nav {
display: block;
text-align: center;
}
main {
padding: 10px 2vw;
}
header {
padding: 10px 0;
}
}
Suggerimenti:
<header>
, <nav>
, <main>
, <footer>
, <section>
, <article>
) per aiutare i lettori e i motori di ricerca.alt
).miosito
).git init
git add .
git commit -m "Prima versione del sito"
git remote add origin https://github.com/TUOUSERNAME/miosito.git
git push -u origin main
main
) e la cartella root (/
), poi salva.https://TUOUSERNAME.github.io/miosito/
Suggerimenti:
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Portfolio di Mario Rossi</title>
<link rel="stylesheet" href="style/main.css">
</head>
<body>
<header>
<h1>Mario Rossi</h1>
<nav>
<a href="index.html">Home</a>
<a href="about.html">Chi sono</a>
<a href="contact.html">Contatti</a>
</nav>
</header>
<main>
<section>
<h2>Benvenuto!</h2>
<p>Scopri i miei progetti e le mie competenze.</p>
<img src="images/portfolio.png" alt="Immagine portfolio">
</section>
</main>
<footer>
<p>© 2025 Mario Rossi - <a href="mailto:mario@example.com">Contattami</a></p>
</footer>
<script src="script/main.js"></script>
</body>
</html>
Creare un sito web statico è il modo migliore per imparare come funziona il web, mettere in mostra le tue competenze o presentare progetti personali. Con HTML, CSS e JavaScript puoi realizzare pagine moderne, belle e funzionali. Grazie a GitHub Pages, puoi pubblicare il tuo lavoro online in pochi minuti, gratuitamente.
Sperimenta, migliora e condividi il tuo sito con il mondo! 🚀