2012-06-20 14 views
6

Spec mówi: funkcjaUżywanie atrybutów HTML jako wartości właściwości CSS

attr() zwraca wartość atrybutu na elemencie do wykorzystania jako wartości w nieruchomości. Jeśli zostanie użyty na pseudoelementie, zwraca wartość atrybutu na początkowym elemencie pseudoelementu.

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

Jednak to nie wydają się działać. Kiedy używam background-image: url(attr(href));, otrzymuję ciąg "attr (href)" jako wartość atrybutu, a nie samą wartość.

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

pomysłów, dlaczego tak jest zepsuty?

+0

Prawie takie samo jak to pytanie zadane wcześniej: http://stackoverflow.com/questions/11117915/how-can-i-use-a-data-attribute-to-set-a-background-image-in -css – thirtydot

+0

@thirtydot: Wiedziałem, że to wydaje się znajome ... nie wiem, czy powinienem to zamknąć, czy zostawić odpowiedź. – BoltClock

+0

Zasadniczo powinien on działać, ale nie jest prawidłowo zrealizowany? – quadmachine

Odpowiedz

10

Nie jest zepsuty; Po prostu żadna przeglądarka nie zaimplementowała the CSS3 version of attr(). Obecnie implementacje istnieją tylko dla wersji introduced in CSS2.1, która jest ograniczona do właściwości content dla wygenerowanej i zastąpionej treści.

Twoja składnia wydaje się poprawna w przeciwnym razie, dopóki zmiany nie zostaną wprowadzone do specyfikacji.

+0

proszę oddać głos w tym błędzie, aby uzyskać pracę nad implementacją: https://bugzilla.mozilla.org/show_bug.cgi?id=435426 – vsync

Powiązane problemy