J'ai besoin d'utiliser le sélecteur d'attribut en css pour changer le lien sur différentes couleurs et images, mais cela ne fonctionne pas.
J'ai ce html:
<a href="/manual.pdf">A PDF File</a>
Et ce css:
a {
display: block;
height: 25px;
padding-left: 25px;
color:#333;
font: bold 15px Tahoma;
text-decoration: none;
}
a[href='.pdf'] { background: red; }
Pourquoi le fond n'est-il pas rouge?
html
css
css-selectors
Igor Kraskynlykov
la source
la source
element[attribute_name="attribute_value"]
.Réponses:
Utilisez le $ après votre href. Cela rendra la valeur de l'attribut correspondant à la fin de la chaîne.
JSFiddle: http://jsfiddle.net/UG9ud/
source: http://www.w3.org/TR/selectors/
la source
La réponse acceptée (utilisant
a[href$='.pdf']
) suppose qu'un lien vers un pdf se terminera toujours par.pdf
. Ce n'est pas nécessairement le cas, car le lien pourrait avoir une chaîne de requête ou un fragment de hachage, par exemple avec un code de suivi UTM ou un numéro de page, auquel cas ces liens ne seraient pas mis en correspondance. En fait, selon votre application, cela pourrait être le cas pour la plupart des liens.Si vous voulez vous assurer que votre règle est également appliquée dans ces cas, vous pouvez faire correspondre
.pdf
n'importe où dans l'attribut en utilisantCependant, cela correspondra alors à des choses improbables mais involontaires, telles qu'un sous-domaine
our.pdf.domain.com/a-page
. Mais nous pouvons le réduire davantage, car nous savons que nous ne l'utiliserions que pour les fichiers PDF qui ont une chaîne de requête ou un fragment de hachage. Si nous combinons les 3 cas, nous devrions faire correspondre tous les liens pdf.la source