как сделать постепенный градиентный blur заднего фона сразу после загрузки сайта

есть картинка на задний фон нужно что бы при загрузки страницы она появлялась медленно а через 0.5s после этого была анимация градиентого блюра центра картинки .

css селектора изображения:

.picture {
    position: center;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
 }

 @-webkit-keyframes fadeIn {
     0% {
         opacity: 0;
     }

     100% {
         opacity: 1;
     }
 }

 @keyframes fadeIn {
     0% {
         opacity: 0;
     }

     100% {
         opacity: 1;
     }
 }

Ответы (2 шт):

Автор решения: NoSkill

Судя по вашим коментариям вы сами способны сделать CSS-анимации. Что касается радиального-размытия, то здесь вам придется использовать специальные маски и фильтры, которые можно построить на основе SVG, если хотите, чтобы работало во всех современных браузерах. Ниже приведен пример радиального-размытия, который работает в Edge, Firefox и Webkit-браузерах. Однако правильную анимацию такого размытия средствами чистого CSS пожалуй не сделать (по крайней мере я не знаю как), но средствами JS-анимации можно. Ежели нужно чисто CSS-решение, то можно просто плавно убирать прозрачность у фильтра (но это не будет анимацией самого размытия). Ниже приведен пример такой анимации по наведению курсора мыши (hover). Я полагаю, адаптировать этот код под ваши нужды не составит большого труда:

.effect {
  width: 400px; height: 300px;
}

.effect img{
  position: absolute;
}

.filter {
  -webkit-mask: radial-gradient( closest-side at center, transparent 0%, black 100%);
  mask: url('#mask-radial');
  filter: url('#radial-filter');
  transition: opacity 1s ease;
  opacity: 1;
}

.filter:hover {
  opacity: 0;
}
<div class="effect">
  <img src="http://css3create.com/squelettes/images/articles/flou-localise-1.jpg" alt="" />
  <img class="filter" src="http://css3create.com/squelettes/images/articles/flou-localise-1.jpg" alt="" />
</div>

<svg height="0">
  <defs>
    <mask id="mask-radial">
      <rect width="400" height="300" fill="url(#radgrad)"></rect>
      <radialGradient id="radgrad" cx="50%" cy="50%" r="50%">
        <stop stop-color="black" offset="0%"/>
        <stop stop-color="white" offset="100%"/>
      </radialGradient>
    </mask>
    <filter id="radial-filter">
      <feGaussianBlur in="SourceGraphic" stdDeviation="5"/>
    </filter>
  </defs>
</svg>

→ Ссылка
Автор решения: Sasha Omelchenko

Хвала современному CSS. Что тут происходит: размещаем поверх картинки блок, накидываем на него маску и backdrop-filter, анимируем.

.pic {
  position: relative;
  width: 300px;
  height: 300px;
}

.pic__masked {
  -webkit-mask: radial-gradient(closest-side at center, black 50%, transparent 100%);
  mask: radial-gradient(closest-side at center, black 50%, transparent 100%);
  position: absolute;
  left: 0;
  top: 0;
  backdrop-filter: blur(10px);
  width: 100%;
  height: 100%;
  animation: 3s linear 0s infinite alternate blurScale;
}

@keyframes blurScale {
  from {
    transform: scale(0);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
<div class="pic">
  <img src="https://placeimg.com/300/300/people" alt="">
  <div class="pic__masked"></div>
</div>

→ Ссылка