2011-04-30 5 views
7

J'utilise le framework Yii et j'ai un fichier CSS qui utilise des images pour le fond et similaires.Comment spécifier les chemins d'image dans les fichiers CSS?

Autre code PHP peut utiliser Yii :: app() -> request-> baseUrl pour préfixer les ressources avec le chemin correct. Cependant, le fichier css n'est pas PHP, donc je ne peux pas utiliser le code.

J'ai essayé avec des chemins relatifs, mais le même fichier css est accessible par les pages html de profondeur différente, par exemple:

http://mysite/controller/action1/10 
http://mysite/controller 

chemins donc par rapport ne fonctionnent pas (du moins, pas dans tous les navigateurs) .

Y a-t-il un moyen de le faire, ou devrais-je simplement utiliser des chemins absolus et en finir avec cela?

Répondre

15

Les chemins vers les images dans les fichiers CSS sont toujours par rapport au fichier CSS, pas à la page faisant référence au fichier CSS. Il ne devrait donc pas être important que vous utilisiez le fichier CSS dans des pages HTML à différentes profondeurs de chemin, comme il le fait toujours à partir de l'emplacement du CSS. Par exemple, si votre fichier CSS est en /Content/Css et vos images sont en /Content/Images, vous devez toujours référencer vos images en tant que url(../Images/something.png).

0

Vous pouvez essayer d'utiliser des chemins semi-relatifs commençant par "/". Comme "/images/image1.jpg".

Ce sont toujours relatives à la racine du site.

Cordialement

+0

Problème: Si le site Web n'est pas au niveau racine, cela ne fonctionnera pas non plus. – Darkhogg

Questions connexes