2013-08-07 10 views
6

Jak zastosować styl CSS tylko do obrazów PNG?Wybierz wszystkie obrazy PNG

.pngImages {opacity:0.75} 
.pngImages:hover {opacity:1} 

Mam wiele stron, które zawierają powtarzające PNG plików. Jak można było zastosować tę klasę do wszystkich z nich bez określić img class="pngImage" ...

coś takiego, ale tylko dla PNG:

div {background-color:#ddd} 
+0

Wszystkie twoje obrazy to png lub niektóre z nich to gif, jpg itp.? – Nitesh

+0

Czy istnieje powód, dla którego nie chcesz dodawać atrybutu klasy? – Gevious

+0

Dobre pytanie kreatywne +1. Ale nie sądzę, żeby istniało specjalne rozwiązanie CSS. - @ user2586454 – Nitesh

Odpowiedz

6

Można użyć selektora atrybutu

img[src$=".png"] 

Powoduje to zaznaczenie wszystkich obrazów PNG:

+4

Odnośnik: http://www.w3.org/TR/css3-selectors/ Zobacz: 'E [foo $ =" bar "]' –

+3

Jedynym możliwym problemem byłoby coś w rodzaju '' jeśli masz trochę routing do dynamicznych danych wyjściowych lub używasz ciągu zapytań do pomijania pamięci podręcznej, lub jeśli masz mieszany przypadek typu 'PNG' lub' Png' (prawdopodobnie istnieją bardziej prawdopodobne wyjątki). Mówiąc prościej, wybiera wszystkie obrazy, których 'src' kończy się dokładnie' .png'. –

1

Zakładając, że należy zadbać o znaczniki <img>, a nie o obrazy tła:

img[src$='.png'] { 
    background-color: #ddd; 
} 

To w zasadzie wybiera tagów graficznych, które mają wartość atrybutu src kończącą się .png

0

Można użyć selektora [attribute$='value'] to zrobić:

img[src$=".png"] { opacity:0.75; } 
img[src$=".png"]:hover { opacity:1; } 
0

myślę, że powinieneś być w stanie zrób to za pomocą selektora atrybutu: 1 na przykład:

img[src$=".png"]{border:2px solid #8c0000;}

Może zajść potrzeba przetestowania tego w programie Internet Explorer, aby upewnić się, że został pobrany.

Powiązane problemy