2012-01-13 3 views
88

Мне нужно использовать селектор атрибутов в css для изменения ссылки на другой цвет и изображение, но это не сработает.Селектор атрибутов CSS не работает a href

У меня есть этот HTML:

<a href="/manual.pdf">A PDF File</a> 

И это CSS:

a { 
    display: block; 
    height: 25px; 
    padding-left: 25px; 
    color:#333; 
    font: bold 15px Tahoma; 
    text-decoration: none; 
} 
a[href='.pdf'] { background: red; } 

Почему не красный фон?

+14

+1, потому что я не знал о [атрибут = 'AttributeName'] – SpaceBeers

+5

@SpaceBeers, это 'элемент [attribute_name = "ATTRIBUTE_VALUE"] '. – JMM

ответ

160

Используйте $ после вашего href. Это приведет к тому, что значение атрибута будет соответствовать концу строки.

a[href$='.pdf'] { /*css*/ } 

JSFiddle: http://jsfiddle.net/UG9ud/

E[foo]  an E element with a "foo" attribute (CSS 2) 
E[foo="bar"] an E element whose "foo" attribute value is exactly equal to "bar" (CSS 2) 
E[foo~="bar"] an E element whose "foo" attribute value is a list of whitespace-separated values, one of which is exactly equal to "bar" (CSS 2) 
E[foo^="bar"] an E element whose "foo" attribute value begins exactly with the string "bar" (CSS 3) 
E[foo$="bar"] an E element whose "foo" attribute value ends exactly with the string "bar" (CSS 3) 
E[foo*="bar"] an E element whose "foo" attribute value contains the substring "bar" (CSS 3) 
E[foo|="en"] an E element whose "foo" attribute has a hyphen-separated list of values beginning (from the left) with "en" (CSS 2) 

источник: http://www.w3.org/TR/selectors/

+1

Значение атрибута соответствует концу строки. звучит как бонус !! – Jack

+4

Этот ответ лучше объясняет селекторов, чем w3schools. – Jeff

Смежные вопросы