有谁知道如何更改Bootstrap的input:focus
?单击input
字段时出现的蓝色发光?
有谁知道如何更改Bootstrap的input:focus
?单击input
字段时出现的蓝色发光?
Answers:
最后,我在bootstrap.css中更改了以下css条目
textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {
border-color: rgba(126, 239, 104, 0.8);
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(126, 239, 104, 0.6);
outline: 0 none;
}
input[type] {}
@input-border-focus
而不是此答案。
select
您可以使用.form-control
选择器来匹配所有输入。例如更改为红色:
.form-control:focus {
border-color: #FF0000;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(255, 0, 0, 0.6);
}
将其放在您的自定义css文件中,并在bootstrap.css之后加载。它将应用于所有输入,包括文本区域,选择等...
如果您使用的是Bootstrap 3.x,现在可以使用新的 @input-border-focus
变量。
查看提交更多信息和警告,。
在_variables.scss中更新@input-border-focus
。
要修改此光晕的大小/其他部分,请修改mixins / _forms.scss
@mixin form-control-focus($color: $input-border-focus) {
$color-rgba: rgba(red($color), green($color), blue($color), .6);
&:focus {
border-color: $color;
outline: 0;
@include box-shadow(inset 0 1px 1px rgba(0,0,0,.075), 0 0 4px $color-rgba);
}
}
.btn:focus { outline: none; }
。
_variables.scss
。
您可以通过以下方式修改.form-control:focus
颜色而无需更改引导样式:
.form-control:focus {
border-color: #28a745;
box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}
.form-control:focus
,将要修改的参数复制到CSS中。在这种情况下是border-color
和box-shadow
。border-color
。在这种情况下,我选择.btn-success
在步骤1中提到的bootstrap.css页面中搜索特定的类,从而选择引导程序用于其类的绿色。box-shadow
参数中,而无需更改引导程序为透明而设置的第四个RGBA参数(0.25)。对于Bootstrap v4.0.0 beta版本,您需要在样式表中添加以下内容,以覆盖Bootstrap(在CDN /本地链接后添加到Bootstrap v4.0.0 beta或在样式中添加!important
:
.form-control:focus {
border-color: #6265e4 !important;
box-shadow: 0 0 5px rgba(98, 101, 228, 1) !important;
}
用您想要的颜色样式替换box-shadow上的border-color和rgba *。
在Bootstrap 4中,如果您自己编译SASS,则可以更改以下变量以控制聚焦阴影的样式:
$input-btn-focus-width: .2rem !default;
$input-btn-focus-color: rgba($component-active-bg, .25) !default;
$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;
注意:从Bootstrap 4.1开始,$input-btn-focus-color
和$input-btn-focus-box-shadow
变量仅用于输入元素,而不用于按钮。按钮的焦点阴影硬编码为box-shadow: 0 0 0 $btn-focus-width rgba($border, .5);
,因此您只能通过$input-btn-focus-width
变量控制阴影宽度。
如果您希望Chrome显示平台默认的“黄色”轮廓,请进行以下更改。
textarea:focus, input[type="text"]:focus, input[type="password"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, input[type="number"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="color"]:focus, .uneditable- input:focus {
border-color: none;
box-shadow: none;
-webkit-box-shadow: none;
outline: -webkit-focus-ring-color auto 5px;
}
outline: dotted thin black;
我进入此线程,以寻找完全禁用发光的方法。出于我的目的,许多答案过于复杂。为了简单的解决方案,我只需要如下一行CSS。
input, textarea, button {outline: none; }
box-shadow: none;
。
!important
在box-shadow
@silverliebt 的建议之后添加
将一个ID添加到body标签。在您自己的Css(而不是bootstrap.css)中,指向新的主体ID,并设置要覆盖的类或标记以及新的属性。现在,您可以随时更新引导程序,而不会丢失更改。
html文件:
<body id="bootstrap-overrides">
CSS文件:
#bootstrap-overrides input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, input[type="url"]:focus, textarea:focus{
border-color: red;
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(126, 239, 104, 0.6);
outline: 0 none;
}
另请参阅:覆盖引导CSS的最佳方法
实际上,在Bootstrap 4.0.0-Beta(截至2017年10月)中,input [type =“ text”]并未引用输入元素,输入元素的所有Bootstrap 4属性实际上都是基于表单的。
因此,它使用.form-control:focus样式。下面是用于突出显示输入元素的适当代码:
.form-control:focus {
color: #495057;
background-color: #fff;
border-color: #80bdff;
outline: none;
}
相当容易实现,只需更改border-color属性即可。
在以上@wasinger的回复的基础上,在Bootstrap 4.5中,我不仅必须覆盖颜色变量,还必须覆盖其box-shadow
本身。
$input-focus-width: .2rem !default;
$input-focus-color: rgba($YOUR_COLOR, .25) !default;
$input-focus-border-color: rgba($YOUR_COLOR, .5) !default;
$input-focus-box-shadow: 0 0 0 $input-focus-width $input-focus-color !default;
为什么不只是使用?
input:focus{
outline-color : #7a0ac5;
}
我无法使用CSS解决此问题。引导后,即使我按site.css进行,似乎Boostrap仍在说最后一句话。无论如何,这对我有用。
$(document).ready(function () {
var elements = document.getElementsByClassName("form-control");
Array.from(elements).forEach(function () {
this.addEventListener("click", cbChange, false);
})
});
function cbChange(event) {
var ele = event.target;
var obj = document.getElementById(ele.id);
obj.style.borderColor = "lightgrey";
}
后来我发现这在CSS中有效。显然只有表单控件
.form-control.focus, .form-control:focus {
border-color: gainsboro;
}
以下是Chrome开发者工具拍摄的前后照片。注意聚焦和聚焦之间边框颜色的不同。顺便说一句,这不适用于按钮。带按钮。使用按钮,您必须将大纲属性更改为无。
如果要删除阴影,请将类完全添加shadow-none
到输入元素中。