Komentar: Browser tidak akan menetapkan gaya apa pun untuk elemen yang tidak diketahui (browser yang berbeda akan memiliki gaya default yang berbeda untuk elemen). Dalam versi sebelum IE9, juga tidak mungkin untuk mengatur gaya untuk elemen yang tidak diketahui. Ada solusi untuk masalah ini. Teman yang tertarik dapat merujuknya.
Setiap browser memiliki daftar elemen HTML yang didukungnya. Elemen yang tidak ada dalam daftar akan dianggap sebagai elemen yang tidak diketahui. Browser tidak akan menetapkan gaya apa pun untuk elemen yang tidak diketahui (browser yang berbeda akan memiliki gaya default yang berbeda untuk elemen). Dalam versi sebelum IE9, juga tidak mungkin untuk menata elemen yang tidak diketahui. DOM dari elemen yang tidak diketahui juga ditampilkan secara tidak benar, dan IE akan memasukkan simpul kosong tanpa elemen anak ke dalam DOM. Semua elemen yang Anda pikirkan akan menjadi anak -anak dari elemen yang tidak diketahui ini akan menjadi node saudara mereka.
Ada solusi untuk masalah ini. Sebelum menggunakan tag artikel, gunakan JS untuk membuat elemen artikel yang salah, dan IE akan mengenali elemen ini, dan mendukung menggunakan CSS untuk mengatur gaya. Elemen palsu ini bahkan tidak perlu dimasukkan ke dalam DOM.
Silakan lihat contoh berikut:
<! Doctype html>
<html lang = "en">
<head>
<meta http-equiv = "konten tipe" content = "text/html; charset = utf-8">
<title> elemen yang tidak diketahui </iteme>
<tyle>
Artikel {display: blok; perbatasan: 1px solid red}
</tyle>
</meta> </head>
<body>
<martikel>
<h1> Selamat datang di blog Feimos </h1>
<p> Ini adalah <span> Anda pertama kali mengunjungi situs web ini. </span> </p>
</artikel>
</body>
</html>
IE6 tidak akan mengenali artikel, jadi tidak akan ada perbatasan merah.
Tetapi jika kita menambahkan kalimat JS ke kepala, situasinya akan segera berbeda.
<type skrip = "Teks/JavaScript">
document.createelement ("artikel");
</script>
IE6 berpura -pura bahwa ia mengenali elemen ini dan dengan benar menampilkan efeknya.
Kami dapat membuat salinan palsu dari semua elemen HTML5 baru sekaligus, jadi kami tidak perlu khawatir tentang browser yang tidak mendukung HTML5 dengan baik di masa depan. Script yang memungkinkan HTML5 Remy Sharp membantu kita melakukan hal -hal ini. Ide dasar skrip ini adalah sebagai berikut:
<!-[jika lt yaitu 9]>
<type skrip = "Teks/JavaScript">
var e = ("ABBR, artikel, samping, audio, kanvas, distalist, detail,"+
"Gambar, footer, header, hgroup, tanda, menu, meter, nav, output,"+
"Kemajuan, Bagian, Waktu, Video"). Split (',');
untuk (var i = 0; i <e .length; i ++) {
document.createElement (e [i]);
}
</script>
<! [Endif]->
Pertama, gunakan anotasi bersyarat untuk menentukan apakah itu versi sebelum IE9, dan jika demikian, jalankan JS. Pertama -tama tulis semua tag baru ke dalam array E, kemudian beralih melalui seluruh array dan buat salinan.
Script sudah di -host di Google Project Hosting, Anda dapat secara langsung menautkan skrip ini:
<!-[jika lt yaitu 9]>
<skrip src = "// html5shim.googlecode.com/svn/trunk/html5.js"> </script>
<! [Endif]->
Selain itu, skrip ini perlu ditempatkan di awal halaman, lebih disukai di kepala, bukan di bagian bawah. Dengan cara ini, IE akan menjalankan kode ini sebelum mem -parsing tag halaman.