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
Creare una libreria CSS universale: Clip-path
Testare l'invio dei messaggi con Event Hubs Data Explorer
Fornire parametri ad un Web component HTML
Utilizzare Hybrid Cache in .NET 9
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Gestire i dati con Azure Cosmos DB Data Explorer
Ottenere un token di accesso per una GitHub App
Rendere le variabili read-only in una pipeline di Azure DevOps
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Ridurre il reflow cambiando il CSS
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
I più letti di oggi
- Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
- .NET Conference Italia 2025 - Milano
- The Agentic Day - Milano
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9
- Tutorial LINQ
- Gestione ciclo di vita in .NET Aspire