(Karena kita di sini di SE.SX, pendekatan yang lebih strategis mungkin merupakan tambahan yang berharga untuk pertimbangan teknis yang biasa.)
[mukadimah] Spesifikasi HTML5 adalah target yang terus bergerak, dan mereka memiliki kebijakan untuk menindaklanjuti praktik umum yang telah ditetapkan. Mereka kuno dan membangkitkan fitur di masa lalu, mengubah makna orang lain, menggeser fokus rekomendasi metodis dll. Ini tidak ditulis untuk selamanya dengan semua kebijaksanaan umat manusia yang tersedia sekaligus. Spek ini bukanlah sumber kebenaran yang sakral. Wajar jika terkadang browser itu benar. [/pembukaan]
Situasi OP sangat umum dan valid.
Anda memiliki CMS, dengan tema yang dirancang dan diinstal, semua CSS dimuat dengan benar dari HEAD, lalu di sana Anda, editor halaman, dibiarkan dengan kotak WYSIWYG yang modis yang Anda dapat (terima kasih Tuhan!) Beralih ke "mode sumber" dan ketik (tempel) di markup HTML (sebelumnya dibuat di tempat lain, dengan alat yang lebih cocok). Untungnya Anda bahkan dapat memasukkan STYLE
tag (mungkin karena kelalaian kebetulan dalam filter tag) ... Hari ini disimpan, dari banyak pekerjaan kasar yang menghancurkan jiwa yang berulang-ulang. Tetapi Anda masih tidak memiliki sarana, apa pun, untuk mengganggu elemen HEAD sistem dari skenario edit halaman.
Haruskah itu merobek Anda dari menggunakan CSS Anda secara langsung dengan fragmen HTML Anda, hanya karena spec mengatakan demikian?
Atau, Anda memiliki aplikasi AJAX satu halaman.
Ini berjalan tanpa memuat ulang untuk sesi yang panjang, dan ada konten sindikasi yang berasal dari berbagai sumber acak, semua gaya sewenang-wenang dan mandiri. Membutuhkannya dikonversi terlebih dahulu untuk hanya menggunakan STYLE
atribut inline alih-alih hanya datang dengan STYLE
elemen tertanam akan menjadi tidak masuk akal.
Selain itu: Anda dapat a) sudah menyematkan CSS apa pun di mana saja di BODY
, melalui STYLE
atribut, jadi CSS "secara teoritis" sah di sana; dan b) Anda sudah dapat melakukan apa pun yang Anda inginkan dengan gaya apa pun, kapan pun Anda mau (dan lebih banyak lagi) dari Javascript, jadi CSS juga sudah mungkin untuk disalahgunakan dengan cara patologis non-performan. Dan tidak ada dari kita yang akan menolak fitur-fitur itu. W3C juga tidak.
Jadi, apa sebenarnya yang jahat dari STYLE
unsur - unsur di dalamnya BODY
? Apa implikasi tambahan yang merugikan yang akan menambah gudang penyalahgunaan kami yang luas terhadap konstruksi HTML? Kinerja lebih buruk? Mungkin. Terkadang.
Apakah itu alasan yang sah untuk menghapus praktik yang sangat berguna ini, didukung oleh setiap browser karena suatu alasan? Tidak dalam sejuta mil!
Kami bukan idiot. Yah, tidak semua, atau tidak selalu ...;) Teknik dengan risiko kinerja yang buruk bisa didokumentasikan , bukan hanya dilarang. Kami dulu memiliki applet Java di awal-awal web, dan bertahan. Mobil dapat disalahgunakan, menyebabkan kesengsaraan, bahkan makanan dapat digunakan dengan cara yang mengganggu, tidak efisien, dan pengemudi yang dapat makan mungkin, rata-rata, bahkan lebih bodoh daripada perancang web rata-rata. Selain itu, W3C yang terhormat, tidak perlu khawatir: kawanan tinkerer HTML yang kesal karena kaki mereka ditembak mati dengan STYLE
elemen - elemen BODY
masih belum bisa mengejar W3C dan membalas dendam. Mereka tidak tahu alamatnya. Dan mereka tidak memiliki kaki.
Jadi, tolong: jangan membuat suara Anda didengar karena STYLE
menjadi legal BODY
! Dengan patuh mengutip teks, tetapi gagal memberikan alternatif yang lebih baik daripada situasi saat ini tidak membantu. Ini sebenarnya ancaman bagi teknik solusi terakhir ini.
Ingat: spesifikasi HTML5 disebut rekomendasi .