Есть кнопка:
<input type="submit" class="btn btn-primary btn-lg">
Если зажать левой клавишей мыши по кнопке происходит примерно следующее: выделяется кнопка по контуру и прожимается. После самого клика - отжимается. Если быстро кликнуть - то происходит моментальное зажатие и сразу же отжатие кнопки.
Как убрать любые эффекты, которые происходят при нажатии? То есть нужно чтобы она максимум выделялась, а не прожималась и отжималась.
Данный код не решил проблему:
.btn-primary:focus,.btn-primary:active, .btn-primary:hover{
outline: none; !important;
box-shadow: none; !important;
}
.btn:focus,.btn:active,.btn:hover{
outline: none; !important;
box-shadow: none; !important;
}
<input type="submit" class="btn btn-primary btn-lg">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
update: изменил описание стилей
Возможно что-то излишне, но пока что лишь бы работало.
.btn:focus,
.btn:active {
box-shadow: none !important;
}
.btn-primary:active,
.btn-primary:focus {
box-shadow: none !important;
}
.btn-lg:active,
.btn-lg:focus {
box-shadow: none !important;
}
Теперь при наведении на кнопку перестал изменяться(затемняться) цвет фона, она лишь подсвечивается по контуру. Но при нажатии этот эффект остался.
update: с bootstrap buttons благодаря документации разобрался. Остался последний вопрос:
<input type="button" name"SomeButton">
При нажатии на такую простейшую кнопку есть мерцание. Возможно ли его убрать, чтобы нажатие по кнопке было визуально таким же, как по простейшей ссылке? Без всяких эффектов. По нажатию что-то происходит, но кнопка вообще не меняет свой вид
update:
В примере у вас именно то что нужно по сути. При наведении на кнопку, нажатии на нее, она такая же, как и зажатая. Т.е. focus, hover, active нужно привести к одному виду - к active.
Берем в спецификации:
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
color: #fff;
background-color: #0062cc;
border-color: #005cbf;
}
.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus {
box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}
И, чтобы нигде накосячить, все это реализуем однообразно:
.btn:focus,
.btn:hover,
.btn:active,
.btn:not(:disabled):not(.disabled):active,
.btn:not(:disabled):not(.disabled).active {
background-image: none !important;
box-shadow: none !important;
outline: 0 !important;
}
.btn-primary:focus,
.btn-primary:hover,
.btn-primary:active,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show>.btn-primary.dropdown-toggle,
.btn-primary:not(:disabled):not(.disabled):active:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus {
background-color: #0062cc !important;
border-color: #005cbf !important;
box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5) !important;
}
<input type="submit" class="btn btn-primary btn-lg">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
Получаем то, что нужно по сути, но совершенно другой внешний вид зажатой кнопки (
!important
не должно быть точек с запятой. Уберите их, и ваш код заработает.outline: 0;
для класса .btn
Бутстрап добавляет сам. Эту инструкцию от себя можно уже не писать. См. bootstrap.css:.btn:focus, .btn.focus {
outline: 0;
}
.btn
, и для .btn-primary
:.btn:focus, .btn.focus {
box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.btn-primary:not(:disabled):not(.disabled):active:focus {
box-shadow: 0 0 0 0.2rem rgba(0,123,255,.5);
}
Поэтому, чтобы убрать тень, надо либо копировать из Бутстрапа строку для .btn-primary
, либо добавлять !important
, либо ещё как-нибудь пересиливать Бутстрап по специфичности.
Если тень не нужна у всех кнопок на сайте, то инструкция с !important
выглядит проще и работает жёстче.
Проверьте:
.btn:focus,
.btn:active {
box-shadow: none !important;
}
<input type="submit" class="btn btn-primary btn-lg">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
.btn-primary
Бутстрап задаёт для .btn-primary
фон и границу: background-color: #007bff; border-color: #007bff;
. При наведении мыши делает их темнее: background-color: #0069d9; border-color: #0062cc;
. При нажатии — ещё темнее: background-color: #0062cc; border-color: #005cbf;
.
Получается, что при нажатии и отпускании кнопка «мерцает»: фон и граница меняют цвет при переходах между состояниями :hover
и :active
.
Чтобы от этого избавится, задайте этим состояниям одинаковые цвета для фона и границы. Например:
.btn:focus,
.btn:active {
box-shadow: none !important;
}
.btn-primary:hover,
.btn-primary:active {
background-color: #0069d9 !important;
border-color: #0062cc !important;
}
<input type="submit" class="btn btn-primary btn-lg">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
Ели правильно понял доп. вопрос, он уже не про Бутстрап, а про стили, добавленные браузером. Чтобы избавиться от них, задаём собственные.
Если кнопка не должна меняться, чтобы с ней не происходило, проще всего поставить !important
:
input[type="button"] {
border-style: solid !important;
box-shadow: none !important;
outline: none !important;
}
<input type="button" value="Some Button">
<form>
<label class="btn btn-primary btn-lg">
Click<input type="submit" style="display:none"/>
</label>
</form>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Всем привет,у меня есть вот такая загрузка фото на сайт(при клике на картинку пользователь загружает фотку на сайт,и в рамках этой картинки...
Есть следующая разметкаКак на чистом js написать чтобы при клике на кнопку плюс - увеличить value на 1, при клике на кнопку минус - уменьшить на 1
На сайте в куку OTK я записываю источник перехода на сайт:
только такие варианты подходят вида +2992924004