Est-ce que quelqu'un sait comment changer input:focus
de Bootstrap? La lueur bleue qui apparaît lorsque vous cliquez sur un champ input
?
Finalement, j'ai modifié l'entrée css suivante dans bootstrap.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;
}
Vous pouvez utiliser le sélecteur .form-control
pour faire correspondre toutes les entrées. Par exemple, changer en rouge:
.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);
}
Mettez-le dans votre fichier css personnalisé et chargez-le après bootstrap.css. Cela s'appliquera à toutes les entrées, y compris textarea, select etc ...
Si vous utilisez Bootstrap 3.x, vous pouvez maintenant changer la couleur avec la nouvelle variable @input-border-focus
.
Voir le commit pour plus d'informations et d'avertissements.
Dans _ variables.scss mettez à jour @input-border-focus
.
Pour modifier la taille/d'autres parties de cette lueur, modifiez le 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);
}
}
Vous pouvez modifier la couleur .form-control:focus
sans modifier le style bootstrap de cette façon:
.form-control:focus {
border-color: #28a745;
box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}
.form-control:focus
et copiez les paramètres que vous souhaitez modifier dans votre css. Dans ce cas, border-color
et box-shadow
. border-color
. Dans ce cas, je choisis le vert que le bootstrap utilise pour sa classe .btn-success
, en recherchant cette classe dans la page bootstrap.css mentionnée dans l'étape 1. box-shadow
sans modifier le quatrième paramètre RGBA (0.25) que bootstrap a pour la transparence.Pour la version bêta de Bootstrap v4.0.0, vous devez ajouter les éléments suivants à une feuille de style remplaçant Bootstrap (soit ajouté après le lien CDN/local vers bootstrap v4. 0.0 beta ou ajoutez !important
aux styles:
.form-control:focus {
border-color: #6265e4 !important;
box-shadow: 0 0 5px rgba(98, 101, 228, 1) !important;
}
Remplacez la bordure-couleur et la rgba de la boîte-ombre par le style de couleur de votre choix *.
Voici les modifications si vous souhaitez que Chrome affiche le contour "jaune" par défaut de la plate-forme.
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;
}
Dans Bootstrap 4, si vous compilez SASS vous-même, vous pouvez modifier les variables suivantes pour contrôler le style de l'ombre focalisée:
$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;
Remarque: à partir de Bootstrap 4.1, les variables $input-btn-focus-color
et $input-btn-focus-box-shadow
ne sont utilisées que pour les éléments d'entrée, mais pas pour les boutons. L'ombre sélectionnée pour les boutons est codée en dur en tant que box-shadow: 0 0 0 $btn-focus-width rgba($border, .5);
. Vous ne pouvez donc contrôler la largeur de l'ombre qu'à l'aide de la variable $input-btn-focus-width
.
Pour désactiver la lueur bleue (mais vous pouvez modifier le code pour changer la couleur, la taille, etc.), ajoutez ceci à votre css:
.search-form input[type="search"] {
-webkit-box-shadow: none;
outline: -webkit-focus-ring-color auto 0px;
}
Voici une capture d'écran montrant l'effet: avant et après:
J'ai atterri sur ce fil à la recherche du moyen de désactiver complètement la lueur. Beaucoup de réponses étaient trop compliquées pour mon but. Pour une solution facile, j'avais juste besoin d'une ligne de CSS comme suit.
input, textarea, button {outline: none; }
En fait, dans Bootstrap 4.0.0-Beta (octobre 2017), l'élément d'entrée n'est pas référencé par input [type = "text"], tout Bootstrap 4 propriétés de l'élément d'entrée sont en réalité form.
Donc, il utilise les styles . Form-control: focus. Le code approprié pour la mise en surbrillance "à la mise au point" d'un élément d'entrée est le suivant:
.form-control:focus {
color: #495057;
background-color: #fff;
border-color: #80bdff;
outline: none;
}
Assez facile à implémenter, il suffit de changer la propriété border-color.
Ajoutez un identifiant à la balise body. Dans votre propre fichier Css (pas le fichier bootstrap.css), pointez sur le nouvel ID de corps et définissez la classe ou la balise que vous souhaitez remplacer et les nouvelles propriétés. Vous pouvez maintenant mettre à jour bootstrap à tout moment sans perdre vos modifications.
fichier html:
<body id="bootstrap-overrides">
fichier 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;
}
Voir aussi: meilleur moyen de remplacer bootstrap css