Rumah > Soal Jawab > teks badan
Selepas symfony2 menguruskan css, terdapat imej latar belakang yang ditakrifkan dalam css Symfony2 menukar laluan css, tetapi tidak mengubah laluan imej latar belakang yang ditakrifkan dalam css, menyebabkan imej latar belakang tidak dipaparkan patut saya buat? Terima kasih terlebih dahulu!
淡淡烟草味2017-05-16 16:46:10
Jika anda menggunakan Assetic, maka anda perlu menambah cssrewrite filer, iaitu:
{% stylesheets 'bundles/app/css/*' filter='cssrewrite' %}
Apakah maksud penapis ini?
Apabila anda assets:dump (atau assets:install), Symfony2 akan mengalihkan fail statik (CSS) anda daripada Bundle ke direktori akar Web, jadi laluan beberapa fail telah berubah (seperti yang dirujuk dalam imej css), oleh itu menyebabkan masalah yang dinyatakan oleh subjek.
Jadi penapis cssrewrite digunakan secara khusus untuk mengira hubungan relatif antara css dan imej, dan terus mengemas kini laluan dalam CSS.
Biar saya berikan anda contoh praktikal Anda kini mempunyai dua fail logo.png dan style.css:
/src/AppBundle/Resources/public/img/logo.png
/src/AppBundle/Resources/public/css/style.css
Anda perlu ../img/logo.png untuk merujuk logo.png dalam gaya.css, bukan?
Sekarang, apabila anda assets:dump, komponen Assetic Symfony2 akan mengeksport logo.png dan style.css ke direktori /web, kerana /src tidak boleh diakses secara langsung, kini logo.png dan style.css akan Eksport dalam bentuk baharu direktori:
/web/bundles/app/img/logo.png
/web/css/11e4a17.css
Anda akan melihat bahawa hubungan relatif antara 11e4a17.css (fail selepas style.css dinamakan semula) dan logo.png telah berubah ../img/logo.png tidak lagi boleh merujuk logo.png , maksudnya cssrewrite ialah ia akan mengemas kini ../img/logo.png dalam 11e4a17.css (style.css) kepada ../bundles/app/img/logo.png.
Terlalu panjang untuk mengatakan banyak perkara, saya harap ia dapat membantu yang bertanya.
怪我咯2017-05-16 16:46:10
Anda mungkin belum membaca dokumen itu, saya akan memberikannya kepada anda
Cara Menggunakan Asetik untuk Pengurusan Aset