HTML5 introduce una serie di nuovi tag per attribuire un significato semantico alle diverse parti che costituiscono la pagina: header, nav, footer, article, section, figure, ecc.
Se i browser moderni supportano nativamente questi elementi, i browser più datati (come le versioni di Internet Explorer precedenti la 9) semplicemente ignorano la presenza di questi tag, rendendo ad esempio impossibile applicare uno stile specifico mediante CSS.
Per risolvere questo problema di compatibilità possiamo utilizzare un markup ibrido, ovvero che preveda un "wrap" tramite elementi noti (tipicamente un div) dei nuovi tag:
<!DOCTYPE html>
<html>
<head>
<style>
header, div.header { background: red; }
</style>
</head>
<body>
<header>
<div class="header">
<h1>Titolo</h1>
</div>
</header>
</body>
</html>Oppure:
<!DOCTYPE html>
<html>
<head>
<style>
header, div.header { background: red; }
</style>
</head>
<body>
<div class="header">
<header>
<h1>Titolo</h1>
</header>
</div>
</body>
</html>Senza intervenire sul markup possiamo consentire a IE di "riconoscere" i nuovi elementi usando Javascript. Tramite una tecnica nota "HTML5 Shiv" (o "HTML5 Shim") è infatti sufficiente creare un tag tramite la funzione document.createElement affinché possa essere riconosciuto da IE6+:
<!DOCTYPE html>
<html>
<head>
<style>
header { background: red; }
</style>
<script>
document.createElement("header");
</script>
</head>
<body>
<header>
<h1>Titolo</h1>
</header>
</body>
</html>Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare DeepSeek R1 con Azure AI
Il nuovo controllo Range di Blazor 9
Utilizzare i variable font nel CSS
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Ridurre il reflow cambiando il CSS
Le cron expression di un workflow di GitHub
Utilizzare Containers in .NET Aspire
Gestione delle scrollbar dinamiche in HTML e CSS
Esporre tool MCP con Azure Functions
Utilizzare WebJobs su Linux con Azure App Service
Fissare una versione dell'agent nelle pipeline di Azure DevOps
Utilizzare l nesting nativo dei CSS
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Gli oggetti CallOut di Expression Blend 4.0
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Utilizzare dati in formato XML in XAML
- Le DirectInk API nella Universal Windows Platform
- Sfruttare una CDN con i bundle di ASP.NET


