Menggunakan Teg dalam dengan HTML Lain Penempatan teg dalam dokumen HTML boleh menimbulkan persoalan tentang susunan pemaparan dan tingkah laku penyemak imbas. Walaupun HTML 4 menentukan bahawa <style> tag berada dalam <head> bahagian, penyemak imbas selalunya membenarkan peletakan mereka dalam <body>.</p> <p><strong>CSS tidak bersebelahan</strong></p> <p>Apabila <style> teg muncul di berbilang lokasi dalam <body>, penyemak imbas menghadapi cabaran untuk mengendalikan peraturan CSS yang tidak bersebelahan. Terdapat dua pendekatan yang mungkin:</p> <ul> <li> <strong>Rendering Berjujukan:</strong> Penyemak imbas boleh memaparkan elemen berdasarkan semata-mata pada tertib peraturan CSS ditemui, mengabaikan sebarang peraturan berikutnya yang mentakrifkan semula gaya.</li> <li> <strong>Penjanaan Struktur Data:</strong> Sebagai alternatif, penyemak imbas boleh membina struktur data yang mewakili semua gaya CSS pada halaman dan menggunakannya untuk pemaparan. Pendekatan ini memastikan bahawa peraturan kemudiannya mengatasi yang terdahulu.</li> </ul> <p><strong>Skop lwn. Pesanan</strong></p> <p>Dalam HTML 4, <style> teg dikehendaki diletakkan dalam <head> atas sebab tertentu: untuk mewujudkan peraturan CSS global yang digunakan pada keseluruhan dokumen. Walau bagaimanapun, versi HTML yang lebih baharu telah memperkenalkan atribut <strong>skop</strong> untuk <style> tags.</p> <p>Atribut ini membenarkan peraturan CSS digunakan hanya dalam bahagian tertentu HTML, tanpa mengira lokasinya dalam dokumen. Oleh itu, <gaya berskop> teg diletakkan dalam <badan> hanya akan menjejaskan elemen yang terkandung dalam bahagian itu.</p> <p><strong>Gelagat Penyemak Imbas</strong></p> <p>Perlu ambil perhatian bahawa sokongan penyemak imbas untuk atribut berskop berbeza-beza. Walaupun ia termasuk dalam spesifikasi HTML5, beberapa pelayar utama sedang melaksanakannya. Ini bermakna, dalam kebanyakan kes, meletakkan <gaya> teg dalam <badan> akan menggunakan peraturannya secara global, sama seperti dalam HTML 4.</p> <p><strong>Amalan dan Pertimbangan Terbaik</strong></p> <p>Walaupun kemungkinan teknikal untuk meletakkan <style> teg dalam <badan>, sesetengah pembangun menasihatkan agar tidak menggunakan amalan ini atas beberapa sebab:</p> <ul> <li> <strong>Konflik Pengesahan:</strong> Meletakkan <gaya> teg dalam <badan> boleh mengakibatkan ralat pengesahan dengan alatan tertentu.</li> <li> <strong>Kekeliruan Skop Global:</strong> Pembangun boleh secara tidak sengaja menggunakan peraturan CSS kepada elemen di luar skop yang dimaksudkan.</li> <li> <strong>Keserasian Masa Depan: </strong> Kekurangan sokongan penyemak imbas yang meluas untuk atribut berskop boleh menyebabkan tingkah laku yang tidak dijangka dalam versi yang lebih baharu pelayar.</li> </ul> <p>Oleh itu, semasa meletakkan <style> teg dalam <badan> secara teknikalnya mungkin, secara amnya disyorkan untuk mematuhi peletakan tradisional <style> teg dalam <head> bahagian untuk kejelasan, konsistensi dan pematuhan terhadap amalan terbaik.</p>