Désactiver la bordure grise sur ancre () éléments de réflexion

j'essaie de faire disparaître l'horrible bordure grise qui apparaît autour des étiquettes d'ancrage. La propriété CSS outline:none; fonctionne pour Firefox, mais comment puis-je le faire dans IE? De préférence en utilisant des expressions CSS ou jQuery. Je ne m'inquiète pas pour l'accessibilité BTW.


sur la base de vos suggestions, j'ai trouvé que ce sont les meilleures solutions:

  • jQuery (pour les navigateurs IE):

    $('a').focus(function() {
        $(this).blur();
    });
    
  • une autre option jQuery (pour les navigateurs IE uniquement):

    $('a').focus(function() {
        $(this).attr("hideFocus", "hidefocus");
    });
    
  • Le CSS (pour tous les autres navigateurs que la force d'un contour):

    a {
        outline: none;
    }
    

remarque: certains navigateurs tels que Google Chrome ne forcent pas un contour à se concentrer.

19
demandé sur 6 revs, 2 users 64%Jimbo 2009-09-03 09:10:41

7 réponses

malheureusement je pense hideFocus est votre meilleure réponse que le flou n'est pas toujours le cas:

<a href="..." hidefocus="hidefocus">...</a>

http://msdn.microsoft.com/en-us/library/ms533783(SV.85).aspx

10
répondu mckamey 2009-09-03 05:28:01

on dirait que vous parlez de la bordure pointillée qui apparaît lorsque vous tabulez les liens. Vous avez la bonne solution pour Firefox (contour: aucun dans le CSS). La meilleure solution que J'ai utilisée pour IE est d'ajouter un écouteur onfocus qui supprime focus:

<a href="" onfocus="this.hideFocus=true;">link</a>

jetez un coup d'oeil à ce site pour un exemple de comment vous pourriez le faire globalement: http://codylindley.com/Javascript/223/hiding-the-browsers-focus-borders-should-i-shouldnt-i

3
répondu Chris R 2009-09-03 05:19:08

à moins que je ne manque quelle frontière pointillée est discutée, résumé:aucun ne fonctionne dans Internet Explorer 8 (du moins, pour moi). Plutôt tout d'un coup quelques hyperliens rendaient avec un bord pointillé (le seul attribut que je me souviens avoir changé est display:inline sur un élément h2 qui contenait un lien, après le bord pointillé est apparu). Alors j'ai rajouté un {outline: none;} dans ma feuille de style globale et poof, plus de Frontière en IE8!

2
répondu Christopher 2009-09-18 17:57:34

pour IE, vous pouvez utiliser Javascript comme ceci:

<a href="..." onfocus="this.blur();">Click Here</a>

Lire la suite: http://www.htmlgoodies.com/beyond/javascript/article.php/3471171

pour Firefox et Safari, contour: aucun ne fonctionne.

Lire la suite: http://css-tricks.com/removing-the-dotted-outline/

1
répondu Kshitij Saxena -KJ- 2009-09-03 05:27:39

Est-ce que cela ne fonctionne pas?

a
{
   border: 0;
}
0
répondu Matt 2011-11-21 21:25:05

a {outline:noneIE 8} css semble bien fonctionner sur Firefox, Chrome et IE 8.

0
répondu ripper234 2011-12-13 15:59:23
a {
  outline: 0 none !important;
  border: none;
}
0
répondu Iga Uga 2013-09-10 07:15:32