Rumah >hujung hadapan web >tutorial css >Bagaimanakah anda merujuk imej dalam fail CSS dalam projek Symfony 2?

Bagaimanakah anda merujuk imej dalam fail CSS dalam projek Symfony 2?

Barbara Streisand
Barbara Streisandasal
2024-11-17 21:26:02625semak imbas

How do you reference images in CSS files within a Symfony 2 project?

Menavigasi Laluan Imej dalam Fail CSS dalam Symfony 2

Masalah:

Anda mempunyai fail CSS yang mengandungi laluan ke imej, fon dan aset lain. Struktur fail anda adalah seperti berikut:

...
+-src/
| +-MyCompany/
|   +-MyBundle/
|     +-Resources/
|       +-assets/
|         +-css/
|           +-stylesheets...
+-web/
| +-images/
|   +-images...
...

Anda ingin merujuk imej anda dalam lembaran gaya, tetapi pelbagai penyelesaian telah terbukti bermasalah.

Penyelesaian Disemak:

1. Berpecah kepada Direktori "Awam" dan "Persendirian":

Simpan fail CSS asal anda dalam direktori peribadi (cth., src/Common/DirtyBundle/Resources/assets/css). Salin fail ini ke dalam direktori awam sebelum menjalankan assetic:dump (cth., web/bundles/commondirty/css_original).

2. Gunakan Penapis "cssrewrite" Assetic (Pilihan):

Penapis ini tidak begitu diperlukan, tetapi ia boleh memudahkan manipulasi laluan. Jika digunakan, pastikan anda melaraskan sintaks dengan sewajarnya.

3. Sepadukan dengan Twig:

Dalam templat Twig anda, rujuk fail CSS menggunakan direktori dan penapis yang sesuai:

{% stylesheets 'bundles/commondirty/css_original/container.css' filter="cssrewrite" %}
    <link href="{{ asset_url }}" rel="stylesheet" type="text/css" />
{% endstylesheets %}

{% stylesheets '@CommonDirtyBundle/Resources/assets/css/k.css' filter="cssrewrite" %}
    <link href="{{ asset_url }}" rel="stylesheet" type="text/css" />
{% endstylesheets %}

4. Kendalikan Laluan Imej:

Gunakan laluan relatif atau mutlak untuk merujuk imej bergantung pada konfigurasi. Contohnya:

  • Laluan relatif: url("../bundles/commondirty/images/devil.png")
  • Laluan mutlak: url("/bundles/commondirty/images /devil.png")

5. Penyelenggaraan:

Selepas menjana fail CSS gabungan menggunakan assetic:dump, anda boleh memadamkan fail CSS asal daripada direktori awam jika mahu.

6. Kekangan yang Tinggal:

  • Imej mesti disimpan dalam direktori awam (cth., web/bundle/commondirty/images) untuk boleh diakses.
  • Fungsi asset() akan tidak lagi berfungsi untuk aset asal dalam direktori peribadi.

Atas ialah kandungan terperinci Bagaimanakah anda merujuk imej dalam fail CSS dalam projek Symfony 2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn