Размытие элемента без фонового изображения на css - PullRequest
3 голосов
/ 30 марта 2020

Использование background-image на теге body и двух div внутри него. Мне нужно иметь размытый фон для каждого div.
. Теперь я могу установить background-image для каждого div и использовать свойство filter: blur для их размытия.

но поскольку я хочу один и тот же фон для всей страницы (не разделенный для каждой div), я хочу установить для него background-image для тега body и затем размыть div элементы.

Вот что я пробовал:

body {
    background-image: url(public/images/billy-huynh-W8KTS-mhFUE-unsplash\ \(1\).jpg);
    background-attachment: fixed;
    background-size: cover;
    display: grid;
    align-items: center;
    justify-content: center;
    height: 100vh;
    width: 100vw;
    position: relative;
}

.parent-div::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 100%;
    filter: blur(5px);

}

.parent-div {
    position: relative;
}

HTML код:

<body>
<div class=" parent-div">
    <div class=" child-div">
        <h4 class=" text-light">Hello world!!</h4>
    </div>
</div>
<div class=" parent-div">
    <div class=" child-div">
        <h4 class=" text-light">Hello world!!</h4>
    </div>
</div>

На самом деле, я хочу размытие div элементов без фонового изображения. Есть ли способ сделать это? спасибо

1 Ответ

2 голосов
/ 30 марта 2020

То, что вы ищете, это backdrop-filter

body {
  background-image: url(https://i.picsum.photos/id/174/800/800.jpg);
  background-attachment: fixed;
  background-size: cover;
  height: 100vh;
  margin:0;
  position: relative;
}


.parent-div {
  position: relative;
  height:50vh;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
<div class=" parent-div">
  <div class=" child-div">
    <h4 class=" text-light">Hello world!!</h4>
  </div>
</div>
<div class=" parent-div">
  <div class=" child-div">
    <h4 class=" text-light">Hello world!!</h4>
  </div>
</div>
...