2014-10-20 26 views
0

我目前有一個小問題,但我認爲這是不可能的只有css3,我想從title屬性獲取圖像名稱,並在背景圖像網址,像這樣:CSS使用標題文本來獲取背景圖片url

#wizHeader li a[title^="step_"]{ 
    background-image: url("../images/" + attr(title) + ".png"); 
} 

這是可能的只有css3?

+0

沒有那不是可以用CSS3,你必須寫在頁面加載JS一些,並有此行爲。 – Ananth 2014-10-20 11:48:14

+0

CSS3完全可能... [但現在沒有一個瀏覽器支持'在內容和非字符串值之外的其他屬性中的使用'](https://developer.mozilla.org/en-US/文檔/網絡/ CSS/ATTR#Browser_compatibility)。 – 2014-10-20 11:52:22

回答

2

目前不可能。 CSS中的attr函數具有很大的潛力,但就我所知,至少是跨瀏覽器的,它目前僅可用作僞元素的content屬性的一部分,例如,

.foo:after { content: attr(title); } 

更多信息at this question

here on CSS Tricks

0

如果你使用jQuery:

$(document).ready(function() { 
    $('#wizHeader li a[title^="step_"]').each(function(k, v) { 
     var title = $(v).attr('title'); 
     $(v).attr('style', 'background-image: url("../images/' + title + '.png")'); 
    }); 
}); 
+2

一個合理的解決方法,但問題沒有提到jQuery或JavaScript。 – Utkanos 2014-10-20 11:51:34

+1

嗯是的,但是這不是一個普通的「不,你不能用css3做」嗎? – Ananth 2014-10-20 11:52:21

+0

取決於。問題是關於使用CSS來做,所以答案雖然不是好消息,但是你不能。建議替代方法很好,但評論意見就是這樣。 OP沒有表明他願意使用JS。 – Utkanos 2014-10-20 11:53:32