2013-04-23 1 views
1

Девять раз из десяти я напишу:В чем разница между фоном: url (../ images/nameofimage.jpg); и фон: url (images/nameofimage.jpg) ;?

background:url(../images/nameofimage.jpg); 

Однако, я только столкнулся с проблемой, когда мой CSS только работает, когда синтаксис:

background:url(images/nameofimage.jpg); 

Я почти положительный Я столкнулся с этим раньше, когда мне вдруг понадобилось добавить периоды и сокращения в CSS.

+4

'../' указывает на родительский каталог. Вот документ, объясняющий разницу: http://webdesign.about.com/od/beginningtutorials/a/aa040502a.htm –

+3

И для полного обзора: http://en.wikipedia.org/wiki/Path_(computing) –

+0

Все зависит от того, как вы размещаете свои файлы и папки. @Pekka дает хороший пример. – Andrew

ответ

5

Пусть у вас есть структура каталогов вроде этого:

~ Root 
- Styles 
    * site.css 
- Images 
    * nameofimage.jpg 

Тогда его не писать Возможное в вашем style.css background:url(images/nameofimage.jpg);, потому что вы ищете ~/styles/images/nameofimage.jpg и этот файл не завершает работу.

Когда вы пишете background:url(../images/nameofimage.jpg);, вы возвращаетесь в одну папку, а затем ищите images/nameofimage.jpg, поэтому она идет в файл ~images/nameofimage.jpg.

С ../ вы можете просматривать назад в папках.

1

Когда вы говорите background:url(../images/nameofimage.jpg); это означает, что вы направляете в каталог изображений родительский каталог.

Если вы скажете background:url(images/nameofimage.jpg);, значит, вы указываете на каталог изображений в той же папке (папке, в которой находится ваш css).

Смежные вопросы