これを追加しましたが、ボタンをクリックすると青い輪郭が表示されます。
.btn:focus {
outline: none;
}
その醜いものを削除する方法?
これを追加しましたが、ボタンをクリックすると青い輪郭が表示されます。
.btn:focus {
outline: none;
}
その醜いものを削除する方法?
回答:
プロパティが上書きされている可能性があります。 !important
:activeと一緒にコードにアタッチしてみてください。
.btn:focus,.btn:active {
outline: none !important;
box-shadow: none;
}
また、ボックスシャドウを追加してください。そうしないと、ボタンの周りにシャドウが表示されます。
これは!importantを使用するのは良い習慣ではありませんが、より具体的なクラスを使用して、!importantを使用してcssを適用することをお勧めします...
box-shadow: none
接頭辞を忘れずに)追加してください-webkit-box-shadow: none
。また、Bootstrap 4にはすでに.btn:focus { outline: none }
btnクラスがあることにも注意してください。
shadow-none
無効にするための組み込みのブーストラップクラスがありますbox-shadow
(ではありませんoutline
)(https://getbootstrap.com/docs/4.1/utilities/shadows/)。これはボタンの影を取り除きます:
<button class='btn btn-primary shadow-none'>Example button</button>
これはChromeで起こっていました(Firefoxではできませんでした)。outline
プロパティがBootstrapによってとして設定されていることがわかりましたoutline: 5px auto -webkit-focus-ring-color;
。outline
次のようにカスタムCSSで後でプロパティをオーバーライドすることで解決します。
.btn.active.focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn:active:focus, .btn:focus {
outline: 0;
}
これはボタンをテキストで解決し、ボタンのみアイコンまたはボタンはリンクです:
<!--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;
}
追加した場合 border:none !important;
{
border:none !important;
outline:none !important;
}
クリックするとボタンが小さくなります。
Bootstrap 4ではbox-shadow: 0 0 0 0px rgba(0,123,255,0);
、:focusで使用
し、問題を解決しました。
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);
}
値を0に設定してボタンからアウトラインを削除した後でも、ボタンをクリックすると変な動作が発生し、サイズが少し縮小します。だから私は最適なソリューションを思いつきました:
.btn:focus {
outline: none !important;
box-shadow: 0 0 0 0;
}
お役に立てれば...
これは、誰かがまだこの問題を解決していない場合に役立ちます。
(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>
私は同じ問題を抱えていて、次のコードがうまくいきました:
.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>
それが役立つことを願っています!
実際には、ブートストラップでは、すべてのケースですべての変数が定義されています。あなたのケースでは、「_ variables.scss」ファイルからデフォルト変数「$ input-btn-focus-box-shadow」をオーバーライドする必要があります。そのような:
$input-btn-focus-box-shadow: none;
独自のカスタム「_yourCusomVarsFile.scss」でその変数をオーバーライドする必要があることに注意してください。そして、そのファイルはプロジェクトに最初の順序でインポートしてから、次のようにブートストラップする必要があります。
@import "yourCusomVarsFile";
@import "bootstrap/scss/bootstrap";
@import "someOther";
ブートストラップ変数は、フラグ '!default'に対応しています。
$input-focus-box-shadow: $input-btn-focus-box-shadow !default;
したがって、ファイルでは、デフォルト値を上書きします。ここにイラスト:
$input-focus-box-shadow: none;
$input-focus-box-shadow: $input-btn-focus-box-shadow !default;
最初の変数は2番目の変数よりも優先されます。残りの州やケースも同様です。それがあなたを助けることを願っています。
以下は、リポジトリの「_variable.scss」ファイルです。ここでは、ブートストラップからすべてのイニシャル値を見つけることができます。https://github.com/twbs/bootstrap/blob/v4-dev/scss/_variables.scss
チアーズ
これはBootstrap 4で私のために働きました:
.btn {border-color: transparent;}
以下をお試しください
.bootstrap-select .dropdown-toggle:focus
{
outline: 0 !important;
}
ブートストラップ4を使用していますが、アウトラインとボックスシャドウを使用できます。
#buttonId {
box-shadow: none;
outline: none;
}
または、ボタンが背景のないdivのような要素内にある場合は、ボックスシャドウで十分です。
#buttonId {
box-shadow: none;
}
これが非CSSメソッドです。JQueryを使用して、要素がクリックされるたびに「focus」クラスを削除するだけです。
$(".btn").mousemove(function(element) {
$(this).removeClass("focus");
});
この方法では、境界線が点滅して一時的に元に戻る場合がありますが、これは私の見た目では悪くありません(ボタンをクリックしたときの応答の一部のように見えます)。
.mousemove()を使用した理由は、.click()と.mouseup()の両方が効果がないことが判明したためです。
これらの値を変更すると、うまくいきました。Chromeの開発者ツールを見て見つけた
.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*/;
}
これにより、ボタンの影も保持され、クリック時にボタンの色が変更されるだけです。
ボーダーの色を灰色に戻します
.btn:focus,
.btn:active{
border: 1px solid #ced4da !important;
}
:active
ボタンを設定してみてください。追加:ブラウザのインスペクタを使用して問題を見つけます。