Milan Babuškov
Milan Babuškov

Reputation: 61118

How to specify image paths in CSS files?

I'm using Yii framework and have a CSS file that uses some images for background and similar.

Other PHP code can use Yii::app()->request->baseUrl to prefix the resources with correct path. However, css file is not PHP, so I cannot use the code.

I tried with relative paths, but the same css file is accessed by html pages of different depth, for example:

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

so relative paths don't work (at least, not in all browsers).

Is there some Yii-way of doing this, or should I just use absolute paths and be done with it?

Upvotes: 7

Views: 9089

Answers (2)

David Duffett
David Duffett

Reputation: 3145

The paths to images in CSS files are always relative to the CSS file, not to the page referencing the CSS file.

So it shouldn't matter that you are using the CSS file in HTML pages at different path depths, as it always looks from the location of the CSS.

For example, if your CSS file is in /Content/Css and your images are in /Content/Images then you should always reference your images as url(../Images/something.png).

Upvotes: 15

Guilherme Duarte
Guilherme Duarte

Reputation: 3441

You may try using semi-relative paths that start with "/". Like "/images/image1.jpg".

This are always relative to the root of the website.

Regards

Upvotes: 0

Related Questions