2011-04-30 11 views
7

私はYiiフレームワークを使用しており、バックグラウンドなどの画像を使用するCSSファイルを持っています。CSSファイルでイメージパスを指定する方法は?

他のPHPコードでは、Yii :: app() - > request-> baseUrlを使用して、リソースに正しいパスをプレフィックスとして付けることができます。しかし、CSSファイルはPHPではないので、コードを使用することはできません。

Iは相対パスと試みたが、同じCSSファイルは、異なる深さのHTMLページによってアクセスされる、例えば:

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

ので、相対パスは(少なくとも、すべてのブラウザで)動作しません。

これを行うにはいくつかの方法がありますか、または絶対パスを使用してそれを行う必要がありますか?

答えて

15

パスがないCSSファイルを参照するページに、常にCSSファイルへの相対です。

異なるパスの深さのHTMLページでCSSファイルを使用している場合は、常にCSSの場所から見ているので問題ではありません。

たとえば、CSSファイルが/Content/Cssで、画像がにある場合は、画像を常にurl(../Images/something.png)として参照する必要があります。

0

"/"で始まる半相対パスを使用してみてください。 「/images/image1.jpg」と似ています。

これは常にウェブサイトのルートに関連しています。

よろしくCSSファイル内の画像へ

+0

問題:Webサイトがルートレベルにない場合、これも機能しません。 – Darkhogg

関連する問題