Maison > Article > interface Web > Comment référencer correctement les images dans les fichiers CSS dans Symfony 2 ?
Chemin des actifs dans les fichiers CSS dans Symfony 2
Cette discussion se concentre sur la recherche d'une solution pour référencer des images dans des fichiers CSS tout en conservant le structure de répertoires dans Symfony 2. L'objectif est de résoudre le problème des chemins dans les fichiers CSS et de garantir que les images sont accessibles sans exposer les fichiers source d'origine au public.
Solutions précédentes
Les tentatives initiales impliquaient de coder en dur des chemins absolus dans le fichier CSS, rendant l'application incompatible avec les sous-répertoires. Assetic avec filter="cssrewrite" a également été utilisé, mais cela a entraîné une génération de chemin incorrect.
Solution actuelle (préférée)
La solution préférée consiste à stocker les fichiers CSS dans le répertoire "Resources/assets/css" et les images dans le répertoire "Resources/public/images". Par référencement relatif dans le fichier CSS, tel que "url("../images/myimage.png")", le chemin correct est généré au moment de la compilation. Cette approche fonctionne parfaitement dans les environnements de développement et de production.
Discussion et analyse
L'auteur a effectué des tests approfondis en utilisant diverses combinaisons de @notation, notation relative, réécriture CSS, arrière-plan de l'image par rapport à src, et analyse avec et sans actif. Les résultats ont révélé que seules des options spécifiques produisaient le comportement souhaité.
Explication de la solution
L'approche réussie nécessitait :
Pensées et considérations finales
Pour plus de sécurité, il est recommandé de stocker les fichiers CSS originaux dans le répertoire "assets" et demandez à votre processus de déploiement de les copier dans le répertoire "public" avant la compilation. Alternativement, il reste possible de stocker les originaux dans le répertoire "public" pour une utilisation --symlink pendant le développement, à condition que vous écriviez la suppression de ces fichiers après la compilation.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!