#html #css
#HTML #css
Вопрос:
Ну, я работаю над небольшим php-скриптом, и у меня возникла проблема с ним при использовании transitions css3 proprety.Когда я использую transition, я не знаю, почему он отлично работает, когда пользователь наводит курсор на кнопку, и для изменения фона требуется 1 сек., но когда пользователь отводит мышь от кнопки, это не занимает 1 сек., это мгновенно меняется. ДЕМОНСТРАЦИЯ
.b{
width:100%;
}
.b:hover{
background:#fff;
transition: 1s;
}
<button class="b">HOVER ME</button>
Комментарии:
1. кнопка имеет фокус, добавьте это в свой css.
2. Здесь есть 2 проблемы,
transition: 1s
они должны быть объявлены в.b
правиле (нормальное состояние), а не в:hover
правиле. Во-вторых, даже с первым исправлением оно все равно не работает. Это потому, что кнопка по умолчаниюbackground
, похоже, не может анимироваться. Вы должны установить явный фон для вашей кнопки, на самом деле этоbackground-color
потому, что только IE11 поддерживает фоновый переход. Проверьте это jsfiddle.net/viphalongpro/sN2Pn/1
Ответ №1:
Переведите переход в базовое состояние, и он будет работать в обоих направлениях.
РЕДАКТИРОВАТЬ: некоторым браузерам потребуются базовые значения для перехода в / из. Кроме того, я бы не стал устанавливать переход, не определив, что я переношу.
Кроме того, я стараюсь не переходить к свойствам быстрого доступа. В идеале это должен быть только переходный цвет фона.
.b{
width:100%;
transition:background-color 1s;
}
.b:hover{
background-color:#fff;
}
Демо-версия JSfiddle — пересмотрена
Комментарии:
1. Спасибо, он хорошо работает с кнопкой, но единственная другая проблема заключается в том, что когда я делаю это на основе li и когда я загружаю html-страницу, для отображения обычного стиля li требуется также 1 сек.
2. в каком браузере вы тестировали эту демонстрацию? похоже, что он не работает в Opera, Chrome, FireFox, только IE11, кажется, анимирует его, но эффект неясен, он даже уродлив (возможно, потому, что IE11 поддерживает фоновый переход).
3. @user3756377 что вы подразумеваете под тем, что это работает хорошо ? Я не могу заставить его работать. Это просто анимированный 1 способ, другой способ (после ухода мыши) сразу переходит к конечному фону, если вы не указали какой-либо явный фон для вашей кнопки (где-то) в вашем фактическом коде.
4. Мой пример был только демонстрационным. Работает в Chrome, хотя некоторые браузеры требуют базовых значений для перехода в / из. Кроме того, я бы не стал устанавливать переход, не определив, что я переношу. — jsfiddle.net/X5KV5
5. Ах да, на самом деле я только что протестировал в Chrome, он просто работает в Chrome (я подумал, что Opera now очень похожа на Chrome, поэтому я просто протестировал Opera и подумал, что в Chrome то же самое).