Ich habe dies hinzugefügt, aber die blaue Kontur erscheint immer noch, wenn die Schaltfläche angeklickt wird.
.btn:focus {
outline: none;
}
wie entferne ich das hässliche Ding?
Möglicherweise werden Ihre Eigenschaften überschrieben . Versuchen Sie, !important
zusammen mit: active an Ihren Code anzuhängen.
.btn:focus,.btn:active {
outline: none !important;
box-shadow: none;
}
Fügen Sie auch Feldschatten hinzu, da Sie sonst immer noch den Schatten um die Schaltfläche sehen können.
In der neuesten Version von Bootstrap habe ich festgestellt, dass das Entfernen der Gliederung selbst nicht funktioniert. Und ich muss dies hinzufügen, da es auch einen Box-Schatten gibt:
.btn:focus, .btn:active {
outline: none !important;
box-shadow: none !important;
}
Das ist mir in Chrome passiert (allerdings nicht in Firefox). Ich habe herausgefunden, dass die outline
-Eigenschaft von Bootstrap als outline: 5px auto -webkit-focus-ring-color;
festgelegt wurde. Gelöst durch Überschreiben der outline
-Eigenschaft später in meinem benutzerdefinierten CSS wie folgt:
.btn.active.focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn:active:focus, .btn:focus {
outline: 0;
}
dies löst eine Schaltfläche mit einem Text, nur ein Symbol oder eine Schaltfläche ist ein Link
<!--1. button with a text -->
<button type="button" class="btn btn-success" id="newWord">Save</button>
<!--2. button only with a close icon -->
<button type="button" class="close"></button>
<!--3. button is a link -->
<a class="btn btn-success btn-xs" href="#">Save</a>
button,
button:active,
button:focus,
button:hover,
.btn,
.btn:active,
.btn:focus,
.btn:hover{
outline:none !important;
}
wenn Sie border:none !important;
hinzufügen
{
border:none !important;
outline:none !important;
}
die Schaltfläche wird dann kleiner, wenn Sie darauf klicken.
Unter dem folgenden Code versuchen
.button:active,
button:active,
.button:focus,
button:focus,
.button:hover,
button:hover{
border:none !important;
outline:none !important;
}
Es gibt eine integrierte boostrap-Klasse shadow-none
zum Deaktivieren von box-shadow
(nicht outline
) ( https://getbootstrap.com/docs/4.1/utilities/shadows/ ). Dies entfernt den Schatten der Schaltfläche:
<button class='btn btn-primary shadow-none'>Example button</button>
In Bootstrap 4 verwenden sie box-shadow: 0 0 0 0px rgba(0,123,255,0);
on: focus, mit dem ich mein Problem gelöst habe
a.active.focus,
a.active:focus,
a.focus,
a:active.focus,
a:active:focus,
a:focus,
button.active.focus,
button.active:focus,
button.focus,
button:active.focus,
button:active:focus,
button:focus,
.btn.active.focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn:active:focus,
.btn:focus {
outline: 0;
outline-color: transparent;
outline-width: 0;
outline-style: none;
box-shadow: 0 0 0 0 rgba(0,123,255,0);
}
Versuche dies
.btn
{
box-shadow: none;
outline: none;
}
Ich hatte gerade das gleiche Problem und der folgende Code hat für mich funktioniert:
.btn:active, .btn:focus, .btn:active:focus, .btn.active:focus {
outline: none !important;
}
.btn {
margin:32px;
}
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- Latest compiled and minified JavaScript -->
<button type="button" class="btn btn-default">Button</button>
Ich hoffe, es wird helfen!
Dies kann hilfreich sein, wenn jemand diese Frage noch nicht gelöst hat.
(function() {
$('button').on('click', function() {
$("#action").html("button was clicked");
console.log("the button was clicked");
});
})();
.btn-clear {
background-color: transparent !important;
border-style: none !important;
cursor: pointer;
}
.btn-clear:active,
.btn-clear:focus {
outline-style: none !important;
outline-color: transparent;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!-- this button has default style -->
<button>Action</button>
<!-- this button is clear of style -->
<button class="btn-clear">Action</button>
<label id="action"></label>
Hier ist meine Bootstrap 4-Lösung zum Entfernen der Schaltfläche
/*
* Boostrap 4
* Remove blue outline from button
*/
.btn:focus,
.btn:active {
box-shadow: none;
}
Ich habe mich entschieden, einfach die Rahmenbreite von :focus
zu entfernen. Dadurch wird der hässliche Abstand zwischen der Umrandung und den abgerundeten Ecken der Schaltfläche entfernt. Aus irgendeinem Grund tritt dieses Problem nur bei tatsächlichen Schaltflächenelementen und nicht bei <a class="btn">
-Elementen auf.
button.btn:focus {
border-width: 0;
}
Ich fand das in meinem Fall nach dem Klicken mit der Taste recht nützlich.
$('#buttonId').blur();
Sie müssen die richtige Verschachtelung verwenden und anschließend Stile anwenden.
Klicken Sie mit der rechten Maustaste auf die Schaltfläche, und finden Sie die genaue Schachtelung für diese Klasse mithilfe von (Element mit Feuerwanze auf Firefox prüfen), (Element auf Chrom prüfen).
Fügen Sie der ganzen Klasse Stil hinzu. Nur dann würde es funktionieren
Dieser funktionierte für mich in Bootstrap 4:
.btn {border-color: transparent;}
a:focus {
outline: none;
}
das funktioniert für mich unter BS3
Versuchen Sie das unten
.bootstrap-select .dropdown-toggle:focus
{
outline: 0 !important;
}
Manchmal hat {outline: 0}
das Problem nicht gelöst und wir können {box-shadow: none;}
versuchen
Denken Sie daran, wenn sich der Knopf in einem Anker befindet, wie:
<a href='some_link'>
<button class='btn'>Button</button>
</a>
Das Hinzufügen des Stils zur Schaltfläche selbst reicht möglicherweise nicht aus. Sie müssen ggf. die CSS-Regeln a:focus, a:active { outline: none }
hinzufügen (dies hat für mich funktioniert).
Ich verwende Bootstrap 4, Sie können Outline und Box-Shadow verwenden.
#buttonId {
box-shadow: none;
outline: none;
}
Wenn sich die Schaltfläche in einem Element wie ein Div ohne Hintergrund befindet, reicht Box-Shadow aus.
#buttonId {
box-shadow: none;
}
Wenn Sie Version 4.3 oder höher verwenden, funktioniert Ihr Code nicht ordnungsgemäß. Das habe ich benutzt. Es hat bei mir funktioniert.
.btn:focus, .btn:active {
outline: none !important;
box-shadow: none !important;
-webkit-box-shadow: none !important;
}
Das Ändern dieser Werte hat bei mir funktioniert. Ich habe es in den Entwicklertools von Chrome gefunden
.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active,
.show>.btn-primary.dropdown-toggle {
color: #fff;
background-color: /*Change This*/;
border-color: /*Change This*/;
}
Dadurch bleibt auch der Schatten der Schaltfläche erhalten, und die Farbe der Schaltfläche ändert sich nur beim Klicken.
Hier ist eine Nicht-CSS-Methode. Entfernen Sie mit JQuery einfach die "focus" -Klasse, wenn auf das Element geklickt wurde.
$(".btn").mousemove(function(element) {
$(this).removeClass("focus");
});
Diese Methode kann dazu führen, dass der Rand in das Vorhandensein eingeblendet wird und dann kurz wieder zurückgesetzt wird, was meiner Meinung nach nicht schlecht aussieht (er scheint Teil der Antwort zu sein, wenn auf die Schaltfläche geklickt wird).
Der Grund, aus dem ich .mousemove () verwendete, ist, dass sich .click () und .mouseup () als unwirksam erwiesen haben.
Überschreiben Sie die genauen Bootstrap-Anweisungen:
.btn-primary.focus, .btn-primary:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{
box-shadow: none;
}
Eigentlich sind in bootstrap alle Variablen für alle Fälle definiert. In Ihrem Fall müssen Sie lediglich die Standardvariable '$ input-btn-focus-box-shadow' der Datei '_variables.scss' überschreiben. So: $input-btn-focus-box-shadow: none;
Beachten Sie, dass Sie diese Variable in Ihrem eigenen benutzerdefinierten '_yourCusomVarsFile.scss' überschreiben müssen. Und diese Datei sollte in erster Ordnung im Projekt importiert werden und dann wie folgt bootstrapieren:
@import "yourCusomVarsFile";
@import "bootstrap/scss/bootstrap";
@import "someOther";
Die Bootstraps-Variablen werden mit dem Flag '! Default' versehen.
$input-focus-box-shadow: $input-btn-focus-box-shadow !default;
In Ihrer Datei überschreiben Sie also die Standardwerte . Hier die Abbildung:
$input-focus-box-shadow: none;
$input-focus-box-shadow: $input-btn-focus-box-shadow !default;
Die allererste Var hat mehr Priorität als die zweite. Dasselbe gilt für die übrigen Zustände und Fälle. Hoffe, es wird Ihnen helfen.
Hier ist die '_variable.scss'-Datei von repo, in der Sie alle Anfangswerte von bootstrap finden können: https://github.com/twbs/bootstrap/blob/v4-dev/scss/_variables.scss
Chears
Statt auf die Button-Klasse (. BTN) zu zielen, ziele ich hier auf das Button -Element selbst und es funktioniert für mich.
button:focus {
outline:none !important;
box-shadow:none !important;
}
Und kann shadow-none
Klasse für Eingabefeld verwenden
sehr einfach :
.btn {outline: none;}