A resposta aceita (usando a[href$='.pdf']
) pressupõe que um link para um pdf sempre terminará com .pdf
. Esse não é necessariamente o caso, já que o link pode ter uma string de consulta ou um fragmento hash, por exemplo, com um código de rastreamento UTM ou um número de página, caso em que esses links não seriam correspondidos. Na verdade, dependendo do seu aplicativo, esse pode ser o caso para a maioria dos links.
<a href="/manual.pdf?utm_source=homepage">A PDF File</a>
<a href="/manual.pdf#page=42">A PDF File</a>
Se você quiser garantir que sua regra também seja aplicada nesses casos, você pode corresponder a .pdf
qualquer lugar no atributo usando
a[href*='.pdf']
No entanto, isso corresponderá a algumas coisas improváveis, mas não intencionais, como um subdomínio our.pdf.domain.com/a-page
. Mas podemos restringi-lo ainda mais, pois sabemos que só o usaríamos para corresponder a PDFs que têm uma string de consulta ou fragmento hash. Se combinarmos os 3 casos, devemos combinar todos os links em PDF.
a[href$='.pdf'], a[href*='.pdf?'], a[href*='.pdf#'] {
background: red;
}