Баг с blur(), помогите пожалуйста!

97
12 июня 2021, 04:20

Доброго времени суток!

С последним обновлением Google Chrome до 66 версии, появился очевидный баг с анимацией при наличии там filter:blur(). При наведении картинка мигает.

В Opere тоже наблюдается такой эффект, но намного слабее, некое дергание. Такой же эффект был и в предыдущей версии Google Chrome, а с последней версией все стало еще хуже. В Firefox же все гладко как и задумывалось. Это как-нибудь возможно исправить?

Наглядный пример на Codepen: https://codepen.io/anon/pen/GdpvdW

HTML:

    <div class="main">
  <div class="wrapper">
    <div id="target" class="blur">This element has a background-image, which should be blured</div>
  </div>
  <div class="content-layer">
    <input id="searchMain" class="animated fadeIn delay">
  </div>
</div>

CSS

target{
  height: 100px;
  width: 500px;
  background: url(http://lorempixel.com/500/100);
}
.blur {
  -webkit-animation: blur 0.5s linear forwards;
  -moz-animation: blur 0.5s linear forwards;
  -ms-animation: blur 0.5s linear forwards;
  -o-animation: blur 0.5s linear forwards;
  animation: blur 0.5s linear forwards;
  -webkit-animation-delay: 1s;
  -moz-animation-delay: 1s;
  animation-delay: 1s;
}
.delay {
  -webkit-animation-delay: 1s;
  -moz-animation-delay: 1s;
  animation-delay: 1s;
}
@-webkit-keyframes blur {
  to {
    -webkit-filter: blur(5px);
    filter: blur(5px);
  }
}
@-moz-keyframes blur {
  to {
    -moz-filter: blur(5px);
    filter: blur(5px);
  }
}
@keyframes blur {
  to {
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    filter: blur(5px);
  }
}
Answer 1

В моем хроме помогло не нулевое значение для blur, например:

filter: blur(0.01px);

#target{ 
  height: 100px; 
  width: 500px; 
  background: url(http://lorempixel.com/500/100); 
} 
.blur { 
    -webkit-filter: blur(3px); 
    -moz-filter: blur(3px); 
    -o-filter: blur(3px); 
    -ms-filter: blur(3px); 
    filter: blur(3px); 
    opacity: 1; 
    transition: opacity .2s linear,-webkit-filter .4s linear; 
} 
 
.blur:hover { 
  -webkit-filter: blur(0.01px); 
    -moz-filter: blur(0.01px); 
    -o-filter: blur(0.01px); 
    -ms-filter: blur(0.01px); 
    filter: blur(0.01px); 
    opacity: 1; 
}
<div class="main"> 
  <div class="wrapper"> 
    <div id="target" class="blur">This element has a background-image, which should be blured</div> 
  </div> 
</div>

READ ALSO
Вложенные блоки не заполняют всю высоту родителя без явного указания height

Вложенные блоки не заполняют всю высоту родителя без явного указания height

Если задать блоку min-height вместо явного height, то в IE внутренние блоки не будут заполнять его по высоте полностью; в других браузерах все нормальноЕсть...

86
Нужно ли блочить поток при чтении в C++?

Нужно ли блочить поток при чтении в C++?

Нужно ли блочить поток мютексом или семафором при чтении из другого потока?

117
C++ Морской Бой - некоторые моменты

C++ Морской Бой - некоторые моменты

Хочу написать консольную игру морской бойЯ тут немножко понаписал код, но не реализовал некоторые моменты

102