Saya sedang mengerjakan beberapa revisi gaya kritis untuk situs WordPress klien yang dirancang oleh tim lain.
CSS tampaknya berantakan berantakan. Salah satu keistimewaan yang saya temukan adalah bahwa stylesheet utama tema ini style.css
, @imports stylesheet lain dari subdirektori: css/default.css
. Sementara itu, default.css
tambahkan juga stylesheet utama di bagian atas file-nya.
Saya menghapus arahan impor dan menambahkan konten default.css
ke style.css
, tapi itu merusak tata letak terlepas dari apakah saya meletakkan default.css
gaya di bagian atas atau bawah style.css
file. @Import loop melakukan sesuatu ke kaskade yang entah bagaimana membuat tata letak "berfungsi".
Aku belum pernah melihat sesuatu seperti ini sebelumnya. Tampak jelas bahwa saya harus menguraikan stylesheet dan mengurutkan pemilih untuk meningkatkan kekhususan. Tetapi apakah ada alasan yang masuk akal untuk sengaja membuat dua file CSS yang saling mengimport? Tampaknya gila, tetapi apakah mungkin ada alasan mendasar di balik ini?
Saya berspesialisasi dalam pengembangan front-end, bukan pengembangan WordPress. Saya perhatikan bahwa WordPress mem-parsing stylesheet tema utama untuk informasi tema. Apakah rekursi impor adalah sesuatu yang bermanfaat bagi WordPress?
@import
?Jawaban:
@import adalah kekacauan besar mengenai waktu pemuatan halaman. Setelah Anda selesai melakukan hal-hal CSS, klien Anda datang dengan ide optimasi loadtime dan paling tidak di sana pertanyaan tentang menyingkirkan @import akan naik lagi.
Pertama saya akan mencoba mengganti @import dengan <link>. Kemudian coba dengan dev-tools untuk dijabarkan, kelas mana yang bertentangan. Setelah itu coba pindahkan aturan CSS dari file CSS yang diimpor dengan tambahan! Penting.
Bisa terjadi, bahwa ada beberapa masalah dengan jalur (relatif) file dalam file CSS yang diimpor ...?
Kadang-kadang membantu memuat di browser situs dengan @imported CSS, sehingga sepertinya klien mengharapkan, kemudian untuk menyalin seluruh CSS dengan bantuan dev-tools, simpan ke dalam satu file CSS dan ganti semua file CSS dengan yang baru dibuat ini satu.
Gagasan global yang akan saya coba selesaikan, adalah untuk memindahkan semua aturan CSS ke dalam file yang sama, membuatnya berfungsi, lalu memindahkan aturan CSS untuk area di atas-lipat ke kepala file HTML.
sumber