background-image中url找不到路徑圖片就無法顯示。 大家都知道不能用絕對路徑,但是相對路徑今天我竟然也遇到了問題,真是蠢死自己了。
在css中使用background:url(../img/banner-bg.jpg);此時是在css中,所以這個路徑一定是以css(該樣式表文件)所在路徑為准的,
與之前的在html中img src 當然不一樣。
鏈接到這個 css 時就從根目錄找起
background-image: url 就直接從該css文件所在路徑做為相對路徑找起。
如上圖目錄結構所示,則Css.css文件里 樣式 bg_list00 的 background-image應如下定義:
background-image: url(../images/list_bg00.jpg); font-weight: bold; color: #ffffff;
}
此時順利找到路徑,
原來,這個錯誤源於我對外部CSS文件的一個誤解。我一直以為,當在html中引用外部樣式表后,那么在樣式表文件中定義的樣式就相當於在html頭文件中定義的樣式了。但事實證明並非如此,它依然存放在定義的文件中被一起下載到客戶端。這一點從background-image的url屬性定義的實踐上也可以清楚地看出,在定義url時,如果是絕對地址當然沒什么問題,如果是相對地址,那么,一定要相對style1.css所在的路徑,而不必考慮即將引用它的html文件的路徑。
最后總結一下:
在外部樣式表中定義url屬性時,如果采用相對路徑,那么這個路徑一定是以該樣式表文件所在路徑為准的