@acorn

Как плавно сменить фон у body?

Привет!
Есть ссылки при наведении на них меняется фон с градиентом у body, делаю через js.
Но меняется он рывком, хочу сделать плавно, добавляя свойство transition в body и скрипт успехом не увенчались, что делать,что делаю не так?
вот код

html
<ul class='list-social'>
      <li><a class="a-social facebook" href="#">facebook</a> </li>
     /ul>

javascript
var facebook = document.querySelector('.facebook');
 var body = document.querySelector('#body-container');
function face(){
  facebook.onmouseover = function(event){
    body.style.background = 'linear-gradient(to top, #48c6ef,#6f86d6)'
  }
  facebook.onmouseout = function(event){
    body.style.background = ''
  }}; 
face();
  • Вопрос задан
  • 392 просмотра
Решения вопроса 2
@EgorWeb
Верстальщик
Градиент не поддается анимации
Только положение и размер (можно поиграться с этим),
Либо использовать box-shadow
css.yoksel.ru/animation-for-gradients
Ответ написан
Xuxicheta
@Xuxicheta
инженер
Можно поверх всего боди натянуть блок с нужным фоном и анимировать его opacity. Или вариант с тенями, как выше писали.
Пока поддержки транзишна градиентов нет.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
aloky
@aloky
js
Как вариант можно псевдоклассом. Пример
Ответ написан
Комментировать
@MrRadar
Изучаю Front-end :)
Transition не на все тэги работает корректно)
Знаю он работает нормально с div , то просто можно всё обернуть в блок и задать ему transition и всё должен заработать (это при использование CSS HTML) JS ещё не изучал хз как он с ним работает)

Вот наглядный пример
Ответ написан
Комментировать
@ferdasfarmazone
Верстальщик!
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы