У меня есть два решения для вас:
filter: blur (0.2px) hack (не спрашивайте меня, как это работает)
.item img
{
transition: filter 250ms ease-in-out;
filter: blur(0.2px); /* the lowest value I could get on my machine: 0.12805650383234025436px */
image-rendering: -webkit-optimize-contrast; /* just in case quality degrades */
}
.item:hover img
{
filter: blur(2px);
}
Шутки в сторону, это, вероятно, вызвано оптимизацией плавающих чисел, выполненной блоком обработки, поэтому, устанавливая размытие на .2px, я не анимирую размытие (0px), а вместо этого начинаю с другого значения и вместо этого вычисляю его (предположим, что у нас есть линейное ослабление):
frame1: 0, frame2: .1, frame3: .2, frame4: .3, ...
он рассчитывает это так:
frame1: .2, frame2: .2666, frame3: .3332, ...
Таким образом, инкрементное значение изменилось и больше не вызывает такого неправильного положения. Конечно, здесь нет правильной математики (это особенно сложно с ослаблением), но идею вы поняли.
Это также пропускает первый кадр с покачиванием.
Дублировать размытые изображения и переключаться между ними (также наиболее эффективный способ)
<div class="item">
<img class="blurred" src="https://www.wikihow.com/images/thumb/2/25/Collect-Bodily-Fluid-Samples-from-a-Cat-Step-16.jpg/aid8673811-v4-728px-Collect-Bodily-Fluid-Samples-from-a-Cat-Step-16.jpg" alt="">
<img class="original" src="https://www.wikihow.com/images/thumb/2/25/Collect-Bodily-Fluid-Samples-from-a-Cat-Step-16.jpg/aid8673811-v4-728px-Collect-Bodily-Fluid-Samples-from-a-Cat-Step-16.jpg" alt="">
</div>
.item
{
position: relative;
}
.item img
{
max-width: 300px;
transition: opacity 250ms ease-in-out;
will-change: opacity;
}
.item .original
{
transition-delay: 0;
}
.item .blurred
{
position: absolute;
filter: blur(5px);
opacity: 0;
transition-delay: .1s;
}
.item:hover .original
{
opacity: 0;
transition-delay: .2s;
}
.item:hover .blurred
{
opacity: 1;
transition-delay: .1s;
}
person
CyberAP
schedule
24.12.2017
transform: translateZ(0);
в свой.item img {}
? jsfiddle.net/oto7quwL - person Andy Hoffman   schedule 21.12.2017