tombol bootstrap menunjukkan garis biru ketika diklik

137

Saya menambahkan ini tetapi tetap garis biru muncul ketika tombol diklik.

.btn:focus {
  outline: none;
}

bagaimana cara menghapus benda jelek itu?

pengguna3522457
sumber
cobalah untuk mengatur :activetombol. Tambahan: Gunakan Inspektur di browser Anda untuk menemukan Masalahnya.
Adrian Preuss
1
Bisakah Anda memposting sedikit lebih banyak kode atau demo jsfiddle sehingga kami dapat membantu Anda
Richa
Tidak yakin tentang tombol tetapi bootstrap menambahkan bayangan kotak ke bidang masukan yang dapat dihapus dengan bayangan kotak: tidak ada;
davidcondrey
3
FWIW, styling fokus penting untuk navigasi keyboard.
Nate Whittaker
Sebuah gambar akan berguna di sini
Sup Ayam

Jawaban:

203

Mungkin properti Anda semakin ditimpa. Coba lampirkan !importantkode Anda bersama dengan: aktif.

.btn:focus,.btn:active {
   outline: none !important;
   box-shadow: none;
}

Juga tambahkan bayangan kotak karena jika tidak Anda masih akan melihat tombol bayangan di sekitar.

Meskipun ini bukan praktik yang baik untuk digunakan! Penting Saya sarankan Anda menggunakan kelas yang lebih spesifik dan kemudian mencoba menerapkan css dengan menggunakan! Penting ...

Janak
sumber
@ Janak Tapi mengapa perlu ketika menimpa: aktif?
Saya juga dapat menambahkan bahwa ketika nuking dengan! Penting, pseudo-class tidak diperlukan
7
Jika Anda menggunakan Bootstrap 4, tambahkan box-shadow: none(dan jangan lupa awalan -webkit-box-shadow: none) untuk jawaban ini. Perhatikan juga bahwa Bootstrap 4 sudah ada .btn:focus { outline: none }di kelas btn.
Cooleronie
1
Isyarat visual sangat penting ketika tidak menavigasi dengan mouse. Jika Anda menghapus garis besar, Anda harus menambahkan umpan balik visual lainnya, atau Anda akan melumpuhkan situs Anda.
Josef Engelfrost
52

Dalam versi terbaru Bootstrap, saya menemukan menghapus garis itu sendiri tidak berfungsi. Dan saya harus menambahkan ini karena ada juga bayangan kotak:

.btn:focus, .btn:active {
  outline: none !important;
  box-shadow: none !important;
}
Chang
sumber
1
Inilah yang membantu saya.
Vahx
Jika Anda ingin memastikan Anda menekan semua tombol Anda, cukup gunakan tombol {outline: none! Important; bayangan kotak: tidak ada! Penting; }
Drew
52

Ada kelas boostrap bawaan shadow-noneuntuk menonaktifkan box-shadow(tidak outline) ( https://getbootstrap.com/docs/4.1/utilities/shadows/ ). Ini menghapus bayangan tombol:

<button class='btn btn-primary shadow-none'>Example button</button>
Bilas
sumber
Terima kasih banyak.
Nikolay Tsenkov
3
ini adalah jawaban terbaik
jmrueda
1
Ini ADALAH solusi yang Anda cari. Ini solusinya, maju terus, terus maju. Terima kasih ini menyelesaikannya untuk Firefox dengan Bootstrap 4.
swudev
Posting ini tentang menghapus garis besar, bukan bayangan. Sedihnya, komentar ini menyesatkan.
Clay Records
Ya, itu adalah jawaban terbaik tetapi mengapa itu tidak diterima pada tombol tanda Siaga Singkirkan
Nawaraj
19

Coba Kode Di Bawah Ini

.button:active, 
 button:active,
.button:focus, 
 button:focus,
.button:hover, 
 button:hover{
    border:none !important;
    outline:none !important;
}
Sandy
sumber
4
Saya hanya perlu bagian ini untuk menghapus garis luar di chrome: button: focus {outline: none;}
TTT
13

Ini terjadi pada saya di Chrome (walaupun tidak di Firefox). Saya telah menemukan bahwa outlineproperti sedang diset oleh Bootstrap sebagai outline: 5px auto -webkit-focus-ring-color;. Dipecahkan dengan mengganti outlineproperti nanti di CSS khusus saya sebagai berikut:

.btn.active.focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn:active:focus, .btn:focus {
    outline: 0;
}
barburakka
sumber
12

ini akan menyelesaikan tombol dengan teks, tombol hanya ikon atau tombol adalah tautan:

 <!--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;
}

jika Anda menambahkan border:none !important;

{
    border:none !important;
    outline:none !important;
}

maka ukuran tombol akan menjadi lebih kecil saat diklik.

Eddy
sumber
8

Coba ini

.btn
{
    box-shadow: none;
    outline: none;
}
Subodh Sharma
sumber
7

Di Bootstrap 4 mereka gunakan box-shadow: 0 0 0 0px rgba(0,123,255,0);pada: fokus, dan saya memecahkan masalah saya dengan

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);
}
Slobodan Kovacevic
sumber
4

Bahkan setelah menghapus garis besar dari tombol dengan menetapkan nilainya ke 0, Masih ada perilaku lucu pada tombol ketika diklik, ukurannya sedikit menyusut. Jadi saya datang dengan solusi optimal:

.btn:focus {
   outline: none !important;
   box-shadow: 0 0 0 0;
}

Semoga ini membantu...

hoodboy007
sumber
3

Anda perlu menggunakan sarang yang tepat dan kemudian menerapkan gaya padanya.

  • Klik kanan pada tombol dan cari kelas yang tepat untuk menggunakannya (Periksa elemen menggunakan pembakar untuk firefox), (periksa elemen untuk chrome).

  • Tambahkan gaya ke seluruh kelas. Hanya kemudian itu akan berhasil

Orahmax
sumber
3

Saya menemukan ini sangat berguna dalam kasus saya setelah klik tombol.

$('#buttonId').blur();
Danny Cullen
sumber
3

Saya memilih untuk hanya menghapus lebar perbatasan :focus. Ini menghilangkan ruang jelek antara garis besar dan sudut bulat tombol. Untuk beberapa alasan masalah ini hanya terjadi pada elemen tombol aktual dan bukan <a class="btn">elemen.

button.btn:focus {
  border-width: 0;
}
Jason
sumber
3

Ini dapat membantu jika seseorang masih memiliki pertanyaan ini yang belum terselesaikan.

(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>

Gaby Evangelista
sumber
3

Inilah solusi Boostrap 4 saya untuk menghapus garis tombol

/*
* Boostrap 4
* Remove blue outline from button
*/

.btn:focus,
.btn:active {
  box-shadow: none;
}
0x1ad2
sumber
3

Saya baru saja mengalami masalah yang sama dan kode berikut berfungsi untuk saya:

.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>

Berharap itu akan membantu!

paul
sumber
garis besar! lakukan !! thud
Adam Cox
3

Sebenarnya dalam bootstrap didefinisikan semua variabel untuk semua kasus. Dalam kasus Anda, Anda hanya perlu mengganti variabel default '$ input-btn-focus-box-shadow' dari file '_variables.scss'. Seperti itu: $input-btn-focus-box-shadow: none; Perhatikan bahwa Anda perlu menimpa variabel itu di kustom Anda sendiri '_yourCusomVarsFile.scss'. Dan file itu harus diimpor dalam proyek dalam urutan pertama dan kemudian bootstrap seperti:

@import "yourCusomVarsFile";
@import "bootstrap/scss/bootstrap";
@import "someOther";

Bootstraps vars disertai dengan flag '! Default'.

$input-focus-box-shadow: $input-btn-focus-box-shadow !default;

Jadi di file Anda, Anda akan menimpa nilai default. Berikut ilustrasinya:

$input-focus-box-shadow: none;
$input-focus-box-shadow: $input-btn-focus-box-shadow !default;

Var pertama memiliki prioritas lebih dari var kedua. Hal yang sama berlaku untuk negara bagian dan kasus lainnya. Semoga ini bisa membantu Anda.

Berikut ini adalah file '_variable.scss' dari repo, tempat Anda dapat menemukan semua nilai inisial dari bootstrap: https://github.com/twbs/bootstrap/blob/v4-dev/scss/_variables.scss

Chears

Tsurule Vol
sumber
2
a:focus {
  outline: none;
}

ini bekerja untuk saya di BS3

Alex LH
sumber
2

Yang ini berhasil untuk saya di Bootstrap 4:

.btn {border-color: transparent;}

Steffo Dimfelt
sumber
2

Mencoba

.btn-primary:focus { 
  box-shadow: none !important; 
}
Punitkumar Kulli
sumber
1

Perlu diingat, jika tombol Anda berada di dalam jangkar seperti:

<a href='some_link'>
    <button class='btn'>Button</button>
</a>

Menambahkan gaya ke tombol itu sendiri mungkin tidak cukup, Anda mungkin perlu menambahkan a:focus, a:active { outline: none }aturan CSS yang sesuai (ini bekerja untuk saya).

RyanT
sumber
1

Coba di bawah ini

.bootstrap-select .dropdown-toggle:focus 
 {
          outline: 0 !important;
 }
Iryna Koshynska
sumber
1

Terkadang {outline: 0}tidak menyelesaikan masalah dan kita bisa mencoba{box-shadow: none;}

xhunter
sumber
1

Saya menggunakan bootstrap 4, Anda dapat menggunakan garis dan bayangan kotak.

#buttonId {
    box-shadow: none;
    outline: none;
}

Atau jika tombol ada di dalam elemen seperti div tanpa back-ground, bayangan kotak sudah cukup.

#buttonId {
     box-shadow: none;
}

Contoh: https://codepen.io/techednelson/pen/XRwgRB

webtechnelson
sumber
1

Jika Anda menggunakan versi 4.3 atau lebih tinggi, kode Anda tidak akan berfungsi dengan baik. Inilah yang saya gunakan. Ini berhasil untuk saya.

.btn:focus, .btn:active {
    outline: none !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
}
Vaibhav Singh
sumber
Kamu benar. Itu tidak bekerja tanpa -webkit-box-shadow: tidak ada! Penting; baris.
Emir
1

Alih-alih menargetkan pada tombol kelas ( .btn ), di sini saya menargetkan elemen tombol itu sendiri dan berfungsi untuk saya.

        button:focus {
          outline:none !important;
          box-shadow:none !important;
        }

Dan bisa menggunakan shadow-noneclass untuk input field

Nawaraj
sumber
0

Berikut adalah metode non-CSS. Menggunakan JQuery, cukup hapus kelas "fokus" setiap kali elemen telah diklik.

$(".btn").mousemove(function(element) { $(this).removeClass("focus"); });

Metode ini dapat menyebabkan perbatasan menjadi ada dan kemudian mundur sebentar, yang menurut saya tidak buruk (sepertinya bagian dari respons ketika tombol diklik).

Alasan saya menggunakan .mousemove () adalah .click () dan .mouseup () keduanya terbukti tidak efektif.

Wesley Kelly
sumber
2
neh. menambahkan lebih banyak javascript untuk mengalahkan CSS bukan yang terbaik dari praktik. MENURUT OPINI SAYA.
David
0

Mengubah nilai-nilai ini berhasil bagi saya. Saya menemukannya dengan melihat Alat Pengembang 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*/;
}

Ini mempertahankan bayangan tombol juga, itu hanya mengubah warna tombol saat diklik.

Ivan Aldwin A. Cristobal
sumber
0

Ganti pernyataan bootstrap yang tepat:

.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;
}
ZEF
sumber
0

Ubah Border Color kembali ke Gray

.btn:focus,
.btn:active{
 border: 1px solid #ced4da !important;
}
Aransiola Oluwaseun
sumber
0

Cara SCSS untuk semua elemen (tidak hanya tombol):

body {
  * {
    &:focus, &.focus,
    &:active, &.active {
      outline: transparent none 0 !important;
      box-shadow: 0 0 0 0 rgba(0,123,255,0) !important;
      -webkit-box-shadow: none !important;
    }
  }
}
gildniy
sumber