이것을 추가했지만 버튼을 클릭하면 여전히 파란색 윤곽선이 나타납니다.
.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). 또한 부트 스트랩 4에는 이미 .btn:focus { outline: none }btn 클래스가 있습니다.
shadow-none비활성화 box-shadow(사용 안함 outline) ( https://getbootstrap.com/docs/4.1/utilities/shadows/ )를 위한 내장 boostrap 클래스 가 있습니다. 버튼의 그림자가 제거됩니다.
<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);
}
누군가 여전히이 질문을 해결하지 못한 경우 도움이 될 수 있습니다.
(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";
부트 스트랩 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
건배
부트 스트랩 4를 사용하고 있으며 개요 및 상자 그림자를 사용할 수 있습니다.
#buttonId {
box-shadow: none;
outline: none;
}
또는 버튼이 배경이없는 div와 같은 요소 안에 있으면 상자 그림자로 충분합니다.
#buttonId {
box-shadow: none;
}
CSS가 아닌 방법이 있습니다. JQuery를 사용하면 요소를 클릭 할 때마다 "포커스"클래스를 제거하면됩니다.
$(".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버튼 을 설정 하십시오. 추가 : 브라우저 에서 검사기 를 사용 하여 문제를 찾으십시오.