Dulu saya memberikan fungsi yang berguna dalam satu postingan blog , dan sudah banyak digunakan di beberapa postingan blog saya. Saya telah banyak membaca akhir-akhir ini, jadi saya menulis postingan blog ini untuk memilah hal-hal baru yang saya pelajari.
Tidak ada keraguan bahwa berdasarkan prinsip pemisahan kinerja dan struktur, mengimpor langsung style sheet baru adalah pilihan terbaik, namun dalam beberapa kasus tidak akan berhasil, misalnya, jika kita membuat DIV yang dapat diseret, dari perspektif mengatur gaya, itu Posisikan secara mutlak untuk mencegahnya mempengaruhi aliran dokumen asli, dan kemudian ubah nilai atas dan kirinya sedikit demi sedikit untuk mencapai efek pergerakan. Karena menyeret memiliki konsep waktu, 24 frame per detik, tidak mungkin untuk memasukkan semuanya ke dalam style sheet. Oleh karena itu, sangat penting untuk menghasilkan aturan gaya secara dinamis dan dengan cepat mengubah aturan gaya. W3C telah melakukan banyak pekerjaan untuk ini. Di DOM2.0, banyak antarmuka telah diperluas.
Untuk mengambil langkah mundur, pemisahan kinerja dan struktur tidak terbatas pada mengimpor style sheet. Tahukah Anda, ada tiga jenis gaya, gaya eksternal, gaya internal, dan gaya sebaris.
Antarmuka yang baru ditambahkan sebagian besar terkonsentrasi pada gaya eksternal - menurut saya antarmuka karena implementasi yang sesuai disediakan oleh browser. Orang sombong seperti IE6 tidak pernah mengabaikan keberadaannya.
Dalam model W3C, tag tautan dan tag gaya bertipe "teks/css" keduanya mewakili objek CSSStyleSheet. Kita bisa mendapatkan semua objek CSSStyleSheet di halaman saat ini melalui document.styleSheets, tetapi ini adalah kumpulan, bukan yang sederhana. susunan. Setiap objek CSSStyleSheet memiliki properti berikut,
Objek aturan gaya (objek CSSStyleRule) dikembangkan oleh W3C untuk mengatur gaya secara lebih detail. Misalnya, hal berikut berhubungan dengan objek aturan gaya:
tombol[ketik] {
bantalan:4px 10px 4px 7px;
tinggi garis:17px;
}
Objek aturan gaya memiliki atribut utama berikut: type, cssText, parentStyleSheet, parentRule.
Tipe agak mirip dengan nodeType, yang membagi lagi aturan gaya. Tipe ini menggunakan bilangan bulat untuk mewakili tipenya. Situasi spesifiknya adalah sebagai berikut
Tak perlu dikatakan lagi, cssText adalah atribut yang sangat berguna yang secara langsung mengubah string menjadi aturan gaya, mengabaikan perbedaan atribut gaya di setiap browser, seperti cssFloat dan styleFloat.
parentStyleSheet dan parentRule keduanya untuk @import. Namun, @import memiliki masalah di IE, jadi pada dasarnya saya tidak menggunakannya.