web-dev-qa-db-fra.com

comment supprimer la bordure en pointillé autour du lien dans IE7

Il y a une bordure autour du bouton et du lien lorsque vous cliquez dessus.

enter image description here

enter image description here

quelqu'un pourrait-il m'aider à résoudre le problème?.

22
Mo.

C'est moche, mais la plupart des correctifs sont également IE.

a:focus, *:focus {
    noFocusLine: expression(this.onFocus=this.blur());
}
6

Vous pouvez le prérégler comme ça:

:focus{
    outline:0; /*removes the dotted border*/
}

Mais n'oubliez pas (pour des raisons d'accessibilité) de définir le style "plus tard" dans votre fichier CSS sur quelque chose de plus visible. Par exemple :

a:focus, a:active{
    color:#ff5500; /*different color than regular*/
}
input[type=submit]:focus, input[type=submit]:active{
    background-color:#444; /*different color than regular*/
}
49
darma

Essaye celui-là

a:hover, a:active, a:focus {
  outline: 0;
 }
14
Mahadeva Prasad

Pour commencer, je peux voir que l’un de vos tags est IE7-bug, alors qu’il s’agit en réalité d’une fonctionnalité. Cette fonction outline en pointillé a pour but de permettre aux utilisateurs de naviguer entre divers contrôles à l’aide de leur molette ou de la touche tab.

Dans tous les cas, pour définir le style d'un élément lorsqu'il est "ciblé", utilisez le sélecteur CSS :focus. La propriété qui style ce contour est trivialement outline; outline: 0 empêchera le contour de la mise au point d'apparaître.

Remarque: Vous pouvez appliquer cette règle uniquement à votre bouton, et non à tous les éléments, car certains utilisateurs peuvent être habitués à voir quelque chose d'indiquer le focus, ce qui facilite la navigation à l'aide des méthodes mentionnées ci-dessus.

J'espère que cela a aidé de quelque manière que ce soit.

6
Chris

CSS outline n'est pas pris en charge dans IE7. Ce "navigateur" nécessite l'expression CSS suivante:

a {
    _noFocusLine: expression(this.hideFocus=true); 
}

Cela fonctionne aussi dans les nouvelles versions.

5
Vojta Jemelka

un lien{ style de contour: aucun; } `

3
maindola

Cela fonctionnera aussi

 une 
 {
 style de contour: aucun; 
 } 
3
PravinS

Cela ferait l'affaire

a {
   outline:0;
}
3
pwavg

Appliquer cette règle à l'entrée 

input { outline : none ; }
2
Andrew

Essayez de définir la propriété outline :

a {
   outline: 0;
}
2
William

Essayer 

a {
     outline: none;
}

Essayez toujours d’utiliser css reset.Cela vous aidera à résoudre le problème de la sorte.J’utilise eric mayer css reset tool .

2
NewUser

Ceci est tout autour du code pour supprimer les lignes extérieures et mettre votre votre CSS sous le nom de classe souhaité. (className dans IE.) Exemple pour les balises

a{
    _noFocusLine:expression(this.hideFocus=true);
    outline-style:none;
    outline:0;

}

Exemple pour toutes les balises de votre page HTML!

*{
    _noFocusLine:expression(this.hideFocus=true);
    outline-style:none;
    outline:0;

}

Exemple pour une balise avec la classe myClassName dans votre page HTML!

.myClassName{
    _noFocusLine:expression(this.hideFocus=true);
    outline-style:none;
    outline:0;

}

Exemple pour une balise avec id myidName dans votre page HTML!

#myidName{
    _noFocusLine:expression(this.hideFocus=true);
    outline-style:none;
    outline:0;

}

J'espère que cela a aidé Works dans les principaux navigateurs. Si ce n'est pas le cas, ils sont si vieux, alors la chance de savoir combien de personnes utilisent encore cet ancien navigateur!

Remarques: outline:none 0; fonctionne également dans les nouveaux navigateurs, mais pas dans tous. Mais outline:0; est universel et dans ces navigateurs, il ne comprend pas "aucun" et vous obtenez la valeur par défaut, mais 0 comprend dans tous les navigateurs, ils utilisent ce contour: . Et vous en avez besoin pour IE7 _noFocusLine:expression(this.hideFocus=true);

ou utilisez Javascript pour le reste!

window.document.getElementById("myidName").blur();
window.document.getElementById("myidName").hideFocus=true;
window.document.getElementById("myidName").style.outline=0;

ou 

Obj=window.document.getElementById("myidName");
Obj.blur();
Obj.hideFocus=true;
Obj.style.outline=0;

ou avec vérifier si l'élément existe!

if (window.document.getElementById("myidName")){
    Obj=window.document.getElementById("myidName");
    Obj.blur();
    Obj.hideFocus=true;
    Obj.style.outline=0;
}

Javascript peut faire l'affaire pour IE6 et IE7 et d'autres CSS ne peuvent pas!

0
Lars Angelo Trab