2
votes

Sélecteur CSS avec lien sans attribut cible

J'ai deux types de liens

a[target="_blank"] 

et

<a href="url" target="_blank">External Link</a>

Je peux utiliser css sur un lien externe en utilisant:

<a href="url">Internal Link</a>

Mais je ne sais pas comment sélectionner avec css tous les liens sans l'attribut "target = _blank".

J'essaye avec un [ target = "_ self"] mais cela ne fonctionne pas car l'attribut cible n'est pas présent dans le "lien interne".


1 commentaires

Bonjour, pourquoi ne pas simplement utiliser a {} si vous allez écraser celui avec un attribut cible?


3 Réponses :


0
votes

Vous pouvez utiliser le sélecteur : not voir ici

Cependant, il peut être plus facile de donner à la place une classe ou un identifiant à votre lien. Écrire le style d'une classe / d'un élément vous donnera un contrôle plus fin sur chaque élément.

HTML

CSS #someid {color: red}


0 commentaires

3
votes

Vous pouvez utiliser le sélecteur : not

<p>
    <a href="url" target="_blank">External Link</a> 
</p>
<p>
    <a href="url">Internal Link</a>
</p>
a[target="_blank"] {
  color: green;
}

a:not([target="_blank"]) {
  color: purple;
}


0 commentaires

0
votes

Vous pouvez utiliser le sélecteur : not () comme pour les autres réponses, ou vous pouvez simplement faire en sorte que la spécificité CSS fonctionne pour vous:

  • Utilisez un {} sélecteur pour cibler tous les éléments d'ancrage

  • Utilisez maintenant a [target = _blank] {} pour cibler les liens externes

Désormais, le sélecteur a {} fonctionnera pour les sélecteurs qui ne sont pas externes.

<a href="url">Internal Link</a>
<a href="url" target="_blank">External Link</a>
a[target="_blank"] {
  color: green;
}

a {
  color: red;
}


0 commentaires