web-dev-qa-db-de.com

so entfernen Sie den gepunkteten Rahmen um den Link in IE7

Es gibt einen Rand und eine Schaltfläche, wenn Sie klicken.

enter image description here

enter image description here

könnte mir jemand helfen, die Lösung zu entfernen.

22
Mo.

Es ist hässlich, aber auch die meisten IE - Korrekturen.

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

Sie können es so vorgeben:

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

Denken Sie jedoch daran (aus Gründen der Barrierefreiheit), den Stil "später" in Ihrer CSS-Datei auf etwas sichtbareres zu setzen. Zum Beispiel :

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

Probier diese

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

Zu Beginn kann ich sehen, dass eines Ihrer Tags IE7-bug ist, während dies eigentlich eher eine Funktion ist. Der Zweck dieser punktierten outline besteht darin, dass Benutzer mit ihrem Mausrad oder der tab-Taste zwischen verschiedenen Steuerelementen navigieren können.

In jedem Fall verwenden Sie den CSS-Code :focus, um den Stil eines Elements zu definieren, wenn es "fokussiert" ist. Die Eigenschaft, die diese Gliederung formatiert, ist trivial outline; outline: 0 verhindert, dass die Fokusumrandung angezeigt wird.

Hinweis: Möglicherweise möchten Sie diese Regel nur auf Ihre Schaltfläche und nicht auf alle Elemente anwenden, da einige Benutzer daran gewöhnt sind, etwas zu sehen, um den Fokus anzuzeigen. Dies erleichtert die Navigation mit den oben genannten Methoden.

Hoffe das hat in irgendeiner Weise geholfen.

6
Chris

CSS outline wird in IE7 nicht unterstützt. Dieser "Browser" erfordert den folgenden CSS-Ausdruck:

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

Es funktioniert auch in neueren Versionen.

5
Vojta Jemelka

eine Verbindung{ Gliederungsstil: keine; } `

3
maindola

Das wird auch funktionieren

 ein 
 {
 Gliederungsstil: keine; 
 } 
3
PravinS

Das würde den Trick tun

a {
   outline:0;
}
3
pwavg

Wenden Sie diese Regel auf die Eingabe an 

input { outline : none ; }
2
Andrew

Versuchen Sie, die Eigenschaft outline festzulegen :

a {
   outline: 0;
}
2
William

Versuchen 

a {
     outline: none;
}

Versuchen Sie immer, css reset zu verwenden. Dies hilft Ihnen, das Problem so zu lösen. Ich verwende eric mayer css reset tool .

2
NewUser

Dies ist alles rund um den Code, um die äußere Zeile zu entfernen und Ihr CSS unter dem gewünschten Klassennamen abzulegen. (className im IE.) Beispiel für Tags

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

}

Beispiel für alle Tags in Ihrer HTML-Seite!

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

}

Beispiel für ein Tag mit der Klasse myClassName in Ihrer HTML-Seite!

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

}

Beispiel für ein Tag mit der ID myidName in Ihrer HTML-Seite!

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

}

Hoffe, das hat geholfen. Funktioniert in großen Browsern und wenn nicht, sind sie so alt, also die Chance, wie viele Leute diese alten Browser noch verwenden!

Hinweise: outline:none 0; funktioniert auch in neueren Browsern, jedoch nicht in allen. Aber outline:0; ist universell und in diesen Browsern wird 'none' nicht verstanden, und Sie erhalten den Standardwert, aber 0 versteht in allen Browsern, die diese Gliederung verwenden: . Und Sie benötigen dies für IE7 _noFocusLine:expression(this.hideFocus=true);.

oder benutze Javascript für den Rest!

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

oder 

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

oder mit prüfen ob element existiert!

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

Javascript kann den Trick für IE6 und IE7 und andere CSS können nicht!

0