Dalam Magento 2 DevDoc dikatakan
Untuk memasukkan file CSS, tambahkan blok <css src = "<path> / <file>" media = "print | <option>" /> di bagian <head> dalam file layout.
Namun itu tidak mengatakan bagaimana kita dapat mempengaruhi urutan file CSS kita. Dan jika kita menambahkan file CSS dengan cara ini dalam tema khusus yang memiliki tema induk, hasilnya adalah bahwa file ditambahkan cukup di bagian atas bagian <head> dengan banyak file CSS lain di bawahnya, artinya prioritas mereka cukup rendah dan kami tidak dapat dengan mudah mengesampingkan aturan dari tema atau ekstensi induk.
Ada masalah serupa di Magento 1 dan ada solusi. Beberapa lebih bersih dan lainnya kurang.
Apa cara terbaik untuk memesan file CSS dari tema khusus di bagian bawah <head> di Magento 2 - jika mungkin mematuhi panduan tata letak Magento 2 untuk tema khusus?
order="1"
file akan dipesan dengan benar. Apa pun atributnya, asalkan Anda menambahkan atribut tambahan. Untuk membuatnya valid, Anda dapat mengubahnyadata-order="1"
dan itu masih berfungsi.Anda dapat menambahkan
media
atribut ke elemen css. Ini akan menambahkannya ke akhir semua CSS yang disertakan di kepala.sumber
Saya menjawab secara rinci di sini tentang bagaimana magento membuat css dan bagaimana pemesanan terjadi di belakang layar.
Beberapa poin tambahan yang perlu saya sebutkan di sini adalah:
Jika Anda ingin merender file css khusus setelah
style-m.css
danstlyle-l.css
, maka Anda perlu mendefinisikan file css Anda seperti di bawah ini:Jika Anda ingin memuat file css khusus Anda sebelum
style-m.css
danstlyle-l.css
, maka Anda perlu memasukkan file css Anda melalui file layout xmldefault_head_blocks.xml
dan menambahkan file css kustom Anda di atasstyle-m.css
danstlyle-l.css
.Properti CSS terbatas dan didefinisikan dengan baik dalam skema tata letak. Menurut skema tata letak, Anda dapat menggunakan properti berikut di file css Anda.
Mengajukan:
vendor/magento/framework/View/Layout/etc/head.xsd
Ini berarti Anda tidak dapat menggunakan
order
atau properti lainnya bersama dengan definisi css di file xml layout Anda. Dengan melakukannya, Anda akan mendapatkan pengecualian yang menunjukkan validasi skema gagal.sumber
Anda dapat membuat aturan CSS Anda lebih atau kurang penting daripada aturan CSS inti dengan menambahkan atau menghapus pemilih induk tambahan.
Sebagai contoh, mari kita lihat contoh aturan CSS di inti:
Anda dapat menjadikan aturan khusus Anda lebih penting dengan menambahkan pemilih induk, misalnya:
atau
Anda dapat membuat aturan khusus Anda kurang penting dengan menghapus pemilih induk, misalnya:
sumber
!important
(tapi tentu saja pendekatan Anda masih lebih baik dari itu) atau menerapkan kelas awalan vendor dengan KURANG. Namun ini menambahkan overhead dan kompleksitas yang tidak perlu. Mengapa awalan ratusan aturan atau lebih ketika perubahan urutan sederhana dari CSS akan melakukannya? Jadi saya masih mencari cara yang baik untuk menyelesaikan ini di sisi Magento ...