부트 스트랩 버튼을 클릭하면 파란색 윤곽선이 표시됩니다


137

이것을 추가했지만 버튼을 클릭하면 여전히 파란색 윤곽선이 나타납니다.

.btn:focus {
  outline: none;
}

그 못생긴 것을 제거하는 방법?


:active버튼 을 설정 하십시오. 추가 : 브라우저 에서 검사기사용 하여 문제를 찾으십시오.
Adrian Preuss

1
좀 더 많은 코드 나 jsfiddle 데모를 게시하여 도와 드리겠습니다
Richa

버튼에 대해서는 확실하지 않지만 부트 스트랩은 box-shadow를 사용하여 제거 할 수있는 입력 필드에 box-shadow를 추가합니다.
davidcondrey

3
FWIW에서 포커스 스타일은 키보드 탐색에 중요합니다.
Nate Whittaker

사진이 여기에 유용 할 것입니다
Chicken Soup

답변:


203

속성이 재정의 될 수 있습니다. !important: active와 함께 코드에 첨부 하십시오.

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

그렇지 않으면 여전히 상자 주위에 그림자가 표시되므로 상자 그림자를 추가하십시오.

! important를 사용하는 것이 좋지는 않지만 더 구체적인 클래스를 사용하고! important를 사용하여 CSS를 적용하는 것이 좋습니다 ...


@Janak 그러나 : active를 재정의 할 때 왜 필요합니까?

! 나는 또한 함께 누킹 때 추가 할 수 있습니다 중요한 의사 클래스는 필요하지 않습니다

7
Bootstrap 4를 사용 하는 경우이 답변에 box-shadow: none접두사를 추가하십시오 (그리고 접두사를 잊지 마십시오 -webkit-box-shadow: none). 또한 부트 스트랩 4에는 이미 .btn:focus { outline: none }btn 클래스가 있습니다.
Cooleronie

1
마우스로 탐색하지 않을 때는 시각적 신호가 중요합니다. 외곽선을 제거하면 다른 시각적 피드백을 추가해야합니다. 그렇지 않으면 사이트가 손상 될 수 있습니다.
Josef Engelfrost

52

최신 버전의 Bootstrap에서 아웃 라인 자체를 제거해도 작동하지 않습니다. 그리고 상자 그림자가 있기 때문에 이것을 추가해야합니다.

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

1
이것이 저에게 도움이되었습니다.
Vahx

모든 버튼을 눌렀는지 확인하려면 버튼 {outline : none! important; 상자 그림자 : 없음! 중요; }
Drew

52

shadow-none비활성화 box-shadow(사용 안함 outline) ( https://getbootstrap.com/docs/4.1/utilities/shadows/ )를 위한 내장 boostrap 클래스 가 있습니다. 버튼의 그림자가 제거됩니다.

<button class='btn btn-primary shadow-none'>Example button</button>

정말 고맙습니다.
Nikolay Tsenkov

3
이 최고의 답변입니다
jmrueda

1
이것은 당신이 찾고있는 솔루션입니다. 이것이 해결책입니다. 감사합니다. 이것은 Bootstrap 4가
설치된

이 게시물은 그림자가 아닌 윤곽선을 제거하는 것에 관한 것입니다. 슬프게도이 의견은 잘못된 것입니다.
Clay Records

네, 이것이 가장 좋은 대답이지만 왜 Alert Dismissing 크로스 버튼에서 허용되지 않는지
Nawaraj

19

아래 코드를보십시오

.button:active, 
 button:active,
.button:focus, 
 button:focus,
.button:hover, 
 button:hover{
    border:none !important;
    outline:none !important;
}

4
크롬에서 외곽선을 제거하려면이 부분 만 필요했습니다. button : focus {outline : none;}
TTT

13

이것은 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;
}

12

이것은 텍스트가있는 버튼을 해결하고, 버튼 만 아이콘 또는 버튼이 링크입니다.

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

클릭하면 버튼의 크기가 작아집니다.



7

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

4

값을 0으로 설정하여 버튼에서 외곽선을 제거한 후에도 버튼을 클릭했을 때 재미있는 동작이 있지만 크기가 약간 줄어 듭니다. 그래서 최적의 솔루션을 생각해 냈습니다.

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

도움이 되었기를 바랍니다...


3

적절한 중첩을 사용한 다음 스타일을 적용해야합니다.

  • 버튼을 마우스 오른쪽 버튼으로 클릭하고 (firefox의 경우 firebug를 사용하여 요소 검사), (chrome의 요소 검사)를 사용하여 정확한 클래스 중첩을 찾으십시오.

  • 수업 전체에 스타일을 추가하십시오. 그런 다음에 만 작동합니다


3

버튼 클릭 후 내 경우에 이것이 매우 유용하다는 것을 알았습니다.

$('#buttonId').blur();

3

에서 테두리 너비를 간단히 제거하기로 선택했습니다 :focus. 그러면 윤곽선과 버튼의 둥근 모서리 사이의 추악한 공간이 제거됩니다. 어떤 이유로이 문제는 요소가 아닌 실제 단추 요소에서만 발생 <a class="btn">합니다.

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

3

누군가 여전히이 질문을 해결하지 못한 경우 도움이 될 수 있습니다.

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


3

다음은 버튼 개요를 제거하는 Boostrap 4 솔루션입니다.

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

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

3

방금 동일한 문제가 있었고 다음 코드가 나를 위해 일했습니다.

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

도움이되기를 바랍니다!


개요! 도 !! thud
Adam Cox '

3

실제로 부트 스트랩에는 모든 경우에 대한 모든 변수가 정의되어 있습니다. 귀하의 경우 '_variables.scss'파일에서 기본 변수 '$ input-btn-focus-box-shadow'를 재정의해야합니다. 이와 같이 : $input-btn-focus-box-shadow: none; 사용자 정의 '_yourCusomVarsFile.scss'에서 해당 변수를 대체해야합니다. 그리고 그 파일은 프로젝트에서 첫 번째 순서로 가져온 다음 부트 스트랩이어야합니다.

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

부트 스트랩 vars는 플래그 '! 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;

첫 번째 변수는 두 번째 변수보다 우선 순위가 높습니다. 나머지 상태와 경우도 마찬가지입니다. 그것이 도움이되기를 바랍니다.

다음은 저장소의 '_variable.scss'파일이며 부트 스트랩에서 모든 이니셜 값을 찾을 수 있습니다. https://github.com/twbs/bootstrap/blob/v4-dev/scss/_variables.scss

건배


2
a:focus {
  outline: none;
}

이것은 BS3에서 나를 위해 작동합니다




1

버튼이 앵커 안에 있으면 다음과 같이 명심하십시오.

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

버튼 자체에 스타일을 추가하는 것만으로는 충분하지 않을 수 있으며, a:focus, a:active { outline: none }적절한 경우 CSS 규칙 을 추가해야 할 수도 있습니다 (이것이 저에게 효과적이었습니다).



1

때때로 {outline: 0}문제가 해결되지 않아서 시도해 볼 수 있습니다{box-shadow: none;}


1

부트 스트랩 4를 사용하고 있으며 개요 및 상자 그림자를 사용할 수 있습니다.

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

또는 버튼이 배경이없는 div와 같은 요소 안에 있으면 상자 그림자로 충분합니다.

#buttonId {
     box-shadow: none;
}

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


1

버전 4.3 이상을 사용하는 경우 코드가 제대로 작동하지 않습니다. 이것이 내가 사용한 것입니다. 그것은 나를 위해 일했다.

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

네가 옳아. -webkit-box-shadow 없이는 작동하지 않습니다 : none! important; 선.
Emir

1

버튼 클래스 ( .btn ) 를 대상으로하는 대신 버튼 요소 자체를 대상으로 하고 나를 위해 작동합니다.

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

shadow-none입력 필드에 클래스를 사용할 수 있습니다


0

CSS가 아닌 방법이 있습니다. JQuery를 사용하면 요소를 클릭 할 때마다 "포커스"클래스를 제거하면됩니다.

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

이 방법을 사용하면 테두리가 깜박 인 다음 잠시 후에 다시 나타날 수 있습니다. 버튼을 클릭하면 응답의 일부처럼 보입니다.

.mousemove ()를 사용한 이유는 .click ()과 .mouseup ()이 모두 효과가없는 것으로 판명 되었기 때문입니다.


2
네. CSS를 없애기 위해 더 많은 자바 스크립트를 추가하는 것이 최선의 방법은 아닙니다. 이모.
David

0

이 값을 변경하면 나에게 도움이되었습니다. 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*/;
}

이렇게하면 버튼의 그림자도 유지되고 클릭시 버튼의 색상 만 변경됩니다.


0

정확한 부트 스트랩 문을 재정의하십시오.

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


0

버튼뿐만 아니라 모든 요소에 대한 SCSS 방식 :

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;
    }
  }
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.