Indice dell’articolo18 sezioni
- 01HTML5: la struttura semantica come fondamento
- 02Form HTML5: validazione nativa, niente JavaScript
- 03Multimedia: audio e video senza plugin
- 04CSS3 base: cosa è ormai ovvio nel 2026
- 05Flexbox: layout in una riga
- 06CSS Grid: layout di pagina seri
- 07Container queries: il game changer del 2024-2026
- 08:has() — il selettore parent finalmente esiste
- 09Animazioni: scroll-driven e view transitions
- 10Scroll-driven animations
- 11View Transitions API
- 12Tipografia moderna: variable fonts e fluid type
- 13Performance: cosa fa parte di una buona base nel 2026
- 14Accessibilità: HTML semantico è la metà del lavoro
- 15Cosa portarsi a casa
- 16Conclusione
- 17Continua a leggere
- 18Domande frequenti
HTML5 e CSS3 nel 2026 non sono più “nuovi standard”: sono la base su cui poggia ogni sito serio sul web. Ma in cinque anni le specifiche si sono evolute moltissimo — container queries, :has(), view transitions, scroll-driven animations. La guida che segue è la base che usiamo nei nostri progetti — quello che basta sapere per costruire siti moderni, mantenibili e veloci.
HTML5: la struttura semantica come fondamento
HTML5 ha dato al web qualcosa che mancava da sempre: tag semantici. Prima di HTML5 ogni elemento era un <div> con una classe. Oggi il browser, gli screen reader, Google, conoscono il significato della struttura senza dover indovinare dalle classi CSS.
Una pagina HTML5 ben strutturata usa questi tag base:
<header>— intestazione della pagina o di una sezione<nav>— menu di navigazione principale<main>— contenuto principale, uno solo per pagina<article>— un contenuto autonomo (un post, una card prodotto)<section>— una sezione tematica dentro main o article<aside>— contenuto correlato (sidebar, box informativi)<footer>— chiusura della pagina o di una sezione
Per chi ottimizza un sito in ottica SEO 2026 questo non è dettaglio cosmetico: Google capisce meglio la gerarchia dei contenuti, e i nuovi modelli AI (AI Overviews, ChatGPT, Perplexity) leggono la pagina seguendo proprio questa struttura semantica per estrarre risposte.
Form HTML5: validazione nativa, niente JavaScript
Una delle aree dove HTML5 ha ridotto enormemente il bisogno di JS sono i form. Tipi di input dedicati — email, tel, url, number, date, color — più attributi di validazione come required, pattern, min, max.
<form>
<input type="email" name="mail" required placeholder="la-tua@email.it">
<input type="tel" name="phone" pattern="[0-9]{10}" required>
<input type="date" name="data-prenotazione" min="2026-06-19">
<button type="submit">Prenota</button>
</form>
Il browser fa la validazione di base prima dell’invio. Su mobile cambia anche la tastiera virtuale a seconda del tipo. Quattro righe HTML, zero righe JavaScript, comportamento accessibile e standard.
Multimedia: audio e video senza plugin
Prima di HTML5 servivano plugin (Flash, RealPlayer) per video e audio. Oggi:
<video controls preload="metadata" poster="cover.jpg">
<source src="demo.mp4" type="video/mp4">
<source src="demo.webm" type="video/webm">
</video>
Per siti che vogliono video performanti in homepage, oggi il pattern moderno è: WebM AV1 come formato principale (50-60% più leggero di H.264 a parità di qualità), MP4 H.264 come fallback per Safari datati. Attributi preload="metadata" e poster per evitare di scaricare il video finché l’utente non lo richiede.
CSS3 base: cosa è ormai ovvio nel 2026
Border-radius, box-shadow, gradient, transform, transition, animation — sono ormai standard ovunque. Non parliamo qui di queste basi: parliamo di cosa hai a disposizione oggi nei browser evergreen che cambia il modo di costruire UI.
Flexbox: layout in una riga
Per allineare elementi orizzontalmente o verticalmente, Flexbox è ancora la soluzione di prima scelta per i componenti.
.container {
display: flex;
gap: 1.5rem;
align-items: center;
justify-content: space-between;
}
Quattro proprietà, layout pulito, responsive automatico con flex-wrap: wrap. Per i menu, le card di navigazione, gli header — è il pattern standard.
CSS Grid: layout di pagina seri
Per il layout della pagina intera o per griglie complesse, Grid è imbattibile.
.layout {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 2rem;
}
Una griglia che si adatta da sola: massimo possibile di colonne con minimo 280px ciascuna, gap di 2rem. Niente media query, niente JavaScript. Responsive nativo.
Container queries: il game changer del 2024-2026
Per anni abbiamo scritto media queries basate sulla larghezza dello schermo. Da fine 2023 abbiamo le container queries: una card può adattare il suo layout in base alla larghezza del contenitore, non dello schermo. Significa componenti riusabili davvero.
.card-container {
container-type: inline-size;
}
@container (min-width: 400px) {
.card { display: flex; gap: 1rem; }
}
La stessa card si comporta come stacked in sidebar a 300px, come flex in main a 600px. Senza scrivere 4 varianti di componente.
:has() — il selettore parent finalmente esiste
Per vent’anni CSS non ha avuto modo di selezionare un elemento in base a cosa contiene. Dal 2023 abbiamo :has(). Cambia tutto.
/* Form che diventa rosso se contiene un input invalido */
form:has(input:invalid) {
border-color: tomato;
}
/* Card senza immagine ha padding maggiore */
.card:not(:has(img)) {
padding: 2rem;
}
Logica di interfaccia che prima richiedeva JavaScript, ora in CSS puro.
Animazioni: scroll-driven e view transitions
Due novità che stanno cambiando il modo di costruire siti “animati” senza dipendere da librerie pesanti tipo GSAP per ogni effetto.
Scroll-driven animations
.parallax {
animation: float linear;
animation-timeline: scroll();
animation-range: entry 0% cover 50%;
}
@keyframes float {
to { transform: translateY(-100px); }
}
Un’animazione legata allo scroll, in CSS puro. Niente JS, performance perfetta perché gestita dal compositor del browser. Supportato in Chrome ed Edge, Safari arriverà entro fine 2026.
View Transitions API
Crossfade morbidi tra pagine quando navighi tra un articolo e l’altro, senza dover diventare una SPA.
@view-transition {
navigation: auto;
}
Una riga di CSS, e ogni navigazione same-origin diventa una transizione fluida. Lo stiamo usando su questo sito stesso, e lo trovi nei nostri progetti più recenti.
Tipografia moderna: variable fonts e fluid type
I variable font sono ormai standard: un singolo file font contiene tutti i pesi, gli stili, le larghezze. Riduce drasticamente il peso scaricato — abbiamo siti dove sono passati da 8 file font (8 weight) a 1 file variable da 80KB totali.
@font-face {
font-family: 'Beconder';
src: url('beconder-variable.woff2') format('woff2-variations');
font-weight: 100 900;
}
Per la tipografia fluida — testo che scala morbido tra mobile e desktop — la funzione clamp() ha sostituito ogni media query.
h1 {
font-size: clamp(2rem, 5vw + 1rem, 4.5rem);
}
Tre valori: minimo (mobile), preferito (scala con viewport), massimo (desktop). Una riga, scala da 32px a 72px senza breakpoint.
Performance: cosa fa parte di una buona base nel 2026
HTML e CSS moderni vanno a braccetto con scelte di performance. Cinque pattern non opzionali per un sito serio nel 2026:
- Immagini — formato
AVIFcon fallback WebP. Attributoloading="lazy"per le immagini sotto la fold.decoding="async"per non bloccare il rendering. - CSS critical inline — i primi 14KB di CSS inline nel
<head>, il resto via<link>conmedia="print"trick per il preload. - Font display swap — sempre
font-display: swapnel@font-face, evita FOIT (flash of invisible text). - Speculation rules — prefetch automatico delle prossime pagine probabili, supportato nativamente in Chromium dal 2024. Navigation istantanea.
- Subset font — non caricare l’intero alfabeto se il tuo sito è solo italiano. Tagli il 40-60% del peso del font.
Accessibilità: HTML semantico è la metà del lavoro
Un sito accessibile parte dal markup. ARIA viene dopo, non al posto. Tre regole secche:
- Un solo
<h1>per pagina, gerarchia logica h2, h3, h4 senza salti. - Ogni immagine ha un
alt— descrittivo se porta informazione, vuoto (alt="") se è decorativa. - Contrasto colore minimo 4.5:1 per testo normale, 3:1 per testo grande. Usa
aria-labelsolo dove serve davvero.
Cosa portarsi a casa
- HTML5 semantico è la base: header, nav, main, article, section, aside, footer. Non è opzionale, anche per SEO e AI.
- CSS 2026 fa cose che prima richiedevano JavaScript: container queries,
:has(), scroll-driven animations, view transitions. - Variable fonts +
clamp()per tipografia fluida e leggera. Un file, una formula, mille viewport.
“Bello, sì — ma prima funzionante.” HTML5 e CSS3 ben usati danno l’effetto opposto: il sito è veloce, accessibile, mantenibile — e poi, anche bello.
Conclusione
Il web del 2026 è in un momento d’oro per i front-end developer: feature CSS che prima richiedevano framework JavaScript pesanti, oggi sono native. La barriera di entrata si abbassa, ma la differenza tra un sito ben costruito e uno improvvisato resta enorme.
Se stai pianificando un nuovo sito o vuoi rivedere quello che hai, è esattamente il momento giusto per costruire — o ricostruire — su queste basi. Niente vetrine, solo strumenti che vendono.