2012-06-20 51 views
6

的規範說:使用HTML屬性作爲CSS屬性值

的ATTR()函數中的屬性返回用作值的元素的一個屬性的值。如果用在僞元素上,它將返回僞元素的始發元素上的屬性值。

http://www.w3.org/TR/css3-values/#attr

然而,這似乎並沒有工作。當我使用background-image: url(attr(href));時,我得到字符串「attr(href)」作爲屬性值,而不是值本身。

http://jsfiddle.net/x2Rpt/1/

任何想法,這是爲什麼壞了?

+0

幾乎和今天早些時候問的這個問題一樣:http://stackoverflow.com/questions/11117915/how-can-i-use-a-data-attribute-to-set-a-background-image-in -css – thirtydot

+0

@thirtydot:我知道這似乎很熟悉......不知道是否應該關閉它或者離開我的答案。 – BoltClock

+0

所以基本上,它應該工作,但它不是很對勁? – quadmachine

回答

10

它沒有壞;只是沒有瀏覽器實現了the CSS3 version of attr()。目前,實現僅存在於introduced in CSS2.1的實現中,該實例僅限於生成和替換內容的content屬性。

除非對規範進行更改,否則您的語法似乎是正確的。

+0

請投票給這個bug讓他們在實現上工作:https://bugzilla.mozilla.org/show_bug.cgi?id=435426 – vsync