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 Intersect e Except per filtrare set di dati in TSql
Supportare la crittografia di ASP.NET Core con Azure Container App
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Collegare applicazioni server e client con .NET Aspire
Controllare la velocità di spostamento su una pagina HTML
Fissare una versione dell'agent nelle pipeline di Azure DevOps
Simulare Azure Cosmos DB in locale con Docker
Definire il colore di una scrollbar HTML tramite CSS
Utilizzare i variable font nel CSS
Potenziare la ricerca su Cosmos DB con Full Text Search
Le cron expression di un workflow di GitHub
Utilizzare @property per animare nativamente un oggetto HTML tramite CSS


