228

有谁知道如何更改 Bootstrap 的input:focus?单击input字段时出现的蓝色光芒?

4

20 回答 20

258

最后,我在 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;
}
于 2013-02-11T23:30:22.817 回答
197

您可以使用.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 之后加载。它将适用于所有输入,包括 textarea、select 等...

于 2015-01-05T11:40:54.203 回答
61

如果您使用的是 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);
  }
}
于 2013-09-06T17:13:54.310 回答
59

在此处输入图像描述 在此处输入图像描述

您可以通过以下方式修改.form-control:focus 颜色而不改变引导样式:

快速解决

.form-control:focus {
        border-color: #28a745;
        box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
    } 

完整解释

  1. 找到您正在使用的 bootstrapCDN 版本。例如对我来说现在是 4.3.1:https ://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.css
  2. 搜索要修改的类。例如.form-control:focus,将要修改的参数复制到 css 中。在这种情况下是border-colorbox-shadow
  3. border-color. 在这种情况下,我选择通过在步骤 1 中提到的 bootstrap.css 页面中搜索特定类来选择引导程序用于他们的类的相同绿色。.btn-success
  4. 将您选择的颜色转换为 RGB 并将其添加到box-shadow参数中,而不更改引导程序用于透明度的第四个 RGBA 参数 (0.25)。
于 2019-02-28T12:19:08.270 回答
18

对于 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 上的边框颜色和 rgba 替换为您想要的任何颜色样式*。

于 2018-01-02T18:39:54.990 回答
15

在 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变量控制阴影宽度。

于 2018-04-12T07:53:02.717 回答
12

如果您希望 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;
}
于 2013-08-03T14:59:41.777 回答
11

要禁用蓝色发光(但您可以修改代码以更改颜色、大小等),请将其添加到您的 css:

.search-form input[type="search"] {  
    -webkit-box-shadow: none;
    outline: -webkit-focus-ring-color auto 0px;
} 

这是显示效果的屏幕截图:之前和之后: 在此处输入图像描述 在此处输入图像描述

于 2015-05-22T13:16:52.587 回答
7

我登陆这个线程寻找完全禁用发光的方法。出于我的目的,许多答案过于复杂。为了简单的解决方案,我只需要一行 CSS,如下所示。

input, textarea, button {outline: none; }
于 2015-09-28T15:51:50.643 回答
6

在 body 标签中添加一个 ID。在您自己的 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 的最佳方法

于 2016-03-30T14:00:26.860 回答
5

实际上,在 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;
}

很容易实现,只需更改边框颜色属性。

于 2017-10-15T02:04:00.023 回答
5

简单的一个

要删除它:

.form-control, .btn {
    box-shadow: none !important;
    outline: none !important;
}

改变它

.form-control, .btn {
    box-shadow: new-value !important;
    outline: new-value !important;
}
于 2020-11-10T07:19:06.807 回答
4

如果您想完全移除阴影,请将该类添加shadow-none到您的输入元素中。

于 2020-05-08T11:22:01.030 回答
4

在上面@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;
于 2020-06-16T15:25:01.043 回答
1

在 Bootstrap 3.3.7 中,您可以在定制器的 Forms 部分中更改 @input-border-focus 值: 在此处输入图像描述

于 2018-01-30T08:38:41.353 回答
1

用于焦点前的输入边框。您可以指定要使用的最喜欢的颜色和其他 css,如填充等


.input {
    padding: 6px 190px 6px 15px;
    outline: #2a65ea auto 105px ;
}

当我们专注于输入时。您可以指定您喜欢的颜色轮廓


.input:focus{
    box-shadow: none;
    border-color: none;
    outline: lightgreen auto 5px ;
}
于 2020-04-20T11:01:21.267 回答
0

为什么不直接使用?

 input:focus{
        outline-color : #7a0ac5;
    }
于 2020-01-29T01:13:41.597 回答
0

我无法用 CSS 解决这个问题。似乎 Boostrap 获得了最后的发言权,即使我在引导后通过 site.css 获得了发言权。无论如何,这对我有用。

$(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 开发者工具的前后截图。注意焦点打开和焦点关闭之间边框颜色的差异。附带说明,这不适用于按钮。带按钮。使用按钮,您必须将大纲属性更改为无。

在此处输入图像描述

在此处输入图像描述

于 2020-04-16T14:43:20.077 回答
0

这将 100% 使用:

.form-control, .form-control:focus{
   box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
   border: rgba(255, 255, 255, 0);
}
于 2020-09-15T18:26:24.723 回答
0

这应该有助于删除它!

input[type = text] {
  border: none;
}

input[type = text]:focus {
  border: none;
  box-shadow: none;
 }

于 2021-07-28T11:40:31.653 回答