Можно ли использовать -webkit-filter: blur(); на фоне-изображение?
Можно ли использовать -webkit-filter: blur();
на фоновом изображении?
Я пробовал этот код, и он просто размывает все, кроме фонового изображения:
body {
background-image: url('http://www.publicdomainpictures.net/pictures/10000/velka/pebbles-and-sea-11284647414Rbeh.jpg');
background-attachment: fixed;
-webkit-filter: blur(5px);
}
Я искал какое-то время, но не могу найти какие-либо ресурсы, описывающие, как это сделать.
Ответы
Ответ 1
БУДУЩИЕ ПОЛЬЗОВАТЕЛИ: Это не поддерживается в IE7, IE8, IE9, IE10, IE11 или текущей версии EDGE.
НЕ ИСПОЛЬЗУЙТЕ на реальном сайте, если у вас нет резервной копии.
Если вы ищете решение, которое не полагается на дополнительную разметку, вы можете применить фоновое изображение и фильтр к псевдоэлементу на теле.
body {
position: absolute;
top: 0; bottom: 0; left: 0; right: 0;
height: 100%;
}
body:before {
content: "";
position: absolute;
background: url(http://lorempixel.com/420/255);
background-size: cover;
z-index: -1; /* Keep the background behind the content */
height: 20%; width: 20%; /* Using Glen Maddern trick /via @mente */
/* don't forget to use the prefixes you need */
transform: scale(5);
transform-origin: top left;
filter: blur(2px);
}
Отметьте этот JsFiddle.
Ответ 2
Не применяйте его к телу, примените его к контейнеру полного размера, как показано ниже, установите размер и положение контейнера в абсолютный, а затем остальную часть содержимого относительной и установите z-индексы.
<body>
<div class="bgImageContainer">
</div>
<div class="content"> Some text and stuff here</div>
</body>
.bgImageContainer{
background-image:url('http://www.whitegadget.com/attachments/pc-wallpapers/16950d1224057972-landscape-wallpaper-blue-river-scenery-wallpapers.jpg');
width:500px;
height:400px;
-webkit-filter: blur(5px);
z-index:0;
position:absolute;
}
.content{
z-index:10;
position:relative;
}
Изменить - обновил скрипку, старое изображение больше не работало.
http://jsfiddle.net/Yr2zD/1130/
Ответ 3
Если фон для полной страницы, то это лучшее решение для меня.
body {
//background-color: black; use it if you don't want the background border
}
body:before {
content: '';
position: fixed;
width: 100vw;
height: 100vh;
background-image: url('http://www.publicdomainpictures.net/pictures/10000/velka/pebbles-and-sea-11284647414Rbeh.jpg'); // your image
background-position: center center;
background-repeat: no-repeat;
background-position: 100% 100%;
background-size: cover;
filter: blur(2px);
z-index: -9;
}