2009-06-25 62 views
13

因爲這個函數是在IE8中實現的,所以我想看看我能用它做什麼,但是我無法使它在除了:before和之後的任何地方工作:在css僞元素之後。應該允許下列情況嗎?什麼是CSS attr函數的正確用法?

span[color] { color: attr(color); } 

我在谷歌瀏覽器也試過了,但沒有奏效。此外,關於像更有活力的東西是什麼:

input[value=attr(default)] { color: gray; } 

回答

17

在CSS 2.1(這是應該使用這些天)attr函數是在什麼可以做小的限制。唯一可以出現的地方是:before and :after pseudo-elementscontent財產。所以其唯一目的是生成內容

在CSS 3 changed a bit中,attr()可能會返回除字符串之外的其他類型,也可以用於其他屬性。

但請記住,具有很少特徵(不包括值和單元)的CSS 3 is still a Working Draft大部分都是候選推薦標準。用戶代理對CSS 3功能的支持目前在有限和接近不存在之間變化。大多數瀏覽器供應商似乎通過實現諸如圓形邊框,文字陰影等「酷炫東西」來打敗無聊,這並不意味着支持它的許多工作。但是你在這裏看到的肯定超出了這個範圍,WD的地位在不久的將來不會改變。所以不要指望它在任何地方實施。

+0

是的,這將是CSS3模塊。約翰內斯明確表示,這是CSS2.1的限制,而CSS3放鬆了這一點,並使其更加通用。 – Xanthir 2010-07-27 22:09:01

+2

@Joey,在關於attr()的類似問題上打開我自己的問題之前,你知道在過去的3年中,瀏覽器是否支持其他屬性(如_width_)中的attr()支持? – 2012-11-16 17:30:22

-1

只需使用

span.red {} 

任何不同的顏色,我不認爲你需要的所有組合:)

或者只是使用

span[color="red"] {} 
相關問題