2012-06-20 46 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

このバグをアップして実装に取り​​掛けてください:https://bugzilla.mozilla.org/show_bug.cgi?id=435426 – vsync

関連する問題