2010-10-19 74 views
7

有人可以幫我找到我的問題嗎? 我有一個<img />,並會給他一個<a>標籤內的背景圖片。背景圖片<img>元素

這是我的例子:

<img border="0" style="display:block; width:20px; height:20px; background-color:red; padding:9px; background:url(\'./images/system/button/close/close.png)\' no-repeat" /> 

背景顏色沒有工作.. :-(我的例子是一個JavaScript字符串,這就是爲什麼我在逃避URL

的原因感謝您的幫助:-)

+1

你爲什麼要逃避報價?你確定URL中領先的'.'? – 2010-10-19 10:22:39

+0

除非我非常困惑,你爲什麼要調整一個img標籤的BG而不使用它的SRC屬性?而url中前面的'./'只是一個相對路徑,我認爲 – Ross 2010-10-19 10:26:01

+1

爲什麼不使用src屬性?爲什麼你需要使用背景圖像? – jerjer 2010-10-19 10:27:20

回答

9

你甚至不需要引號。

background:url(./images/system/button/close/close.png) 

使用DIV如果你能

<div style="height:20px; width:20px; padding:9px; background:url(./images/system/button/close/close.png) no-repeat red"></div> 
+0

請注意,div默認顯示爲block image is inline – jerjer 2010-10-19 10:29:33

+0

另外值得注意的是你的背景顏色不起作用,因爲你越過它越過它。不管是'background:red url(...)'還是使用'background-image'。 – 2010-10-19 12:08:20

+1

爲什麼'使用div如果你可以'?如果元素的目的是顯示圖像,那麼圖像元素確實會產生更多的語義 – 2014-02-20 02:01:10

3

您正在轉義您的報價標記並轉置了第二個引號和括號。

在CSS:

url('foo') /* is technically fine but broken on IE/Mac */ 
url(foo)  /* is fine */ 
url('foo)' /* is not fine */ 
url(\'foo\') /* is not fine */ 

而羅斯在評論中指出,您的src屬性丟失。我想象一下,在具有半透明背景的圖像上設置背景圖像是可行的,但如果您沒有內容圖像,請不要使用<img>元素(並且不要隱藏您擁有的任何內容圖像background-image屬性)。

+0

對不起,我忘了說這是我的JavaScript字符串.. – Patrik 2010-10-19 10:28:23

+0

哪個元素符合使用帶有標記內背景的圖像的資格? – Patrik 2010-10-19 10:40:55

1

不明白你爲什麼要逃避報價。

<img border="0" style="display:block; width:20px; height:20px; background-color:red; padding:9px; background:url('./images/system/button/close/close.png') no-repeat" /> 

這是否行得通?

你確定嗎?在URL中?

+0

因爲這是一個JavaScript字符串 – Patrik 2010-10-19 10:31:51

0

好吧,就算它的怪異使用<img/>標籤這一點。 (這不是它的目的,使用src或背景div ...)

Here,它的工作

1

background-color:red;正在background:取代。

結合您的背景。然後,您可以通過刪除背景的URL()中的引號和URL中的句點來進一步優化它。如果它相對於頁面的位置,則只需刪除反斜槓。

<img border="0" style="display:block; width:20px; height:20px; padding:9px; background:#F00 url(images/system/button/close/close.png) no-repeat" />

最後,如果你需要有一個alt屬性的內容會顯示出來,因爲沒有源。如果添加alt,請使用透明圖像。