Я пытаюсь добавить эффект размытия, как в центре управления iOS7, со следующим кодом, который исходит из принятого ответа на этот вопрос.
body {
-webkit-filter: blur(20px);
opacity: 0.4;
}
Однако, когда я написал вышеприведенный фрагмент и запустил приложение, он отображает эффект размытия по всему экрану, и, следовательно, содержимое там не читается. Однако приведенный ниже пример влияет только на фоновый рисунок должным образом, поскольку я переопределяю содержимое блога "background-color"
body {
background-color: red;
}
.blog {
background-color: white;
}
При этом, если я попытаюсь использовать тот же подход со следующим кодом, который должен переопределить фон:
.blog {
-webkit-filter: blur(0px);
opacity: 1.0;
}
Он все еще размывается по всему окну. Итак, почему возникает такая разногласия?
Я хотел бы повлиять на размытие только на фоне - другими словами, я не хочу, чтобы это влияло на что-то вроде заголовка, нижнего колонтитула, сообщения в блоге, в сторону содержимого раздела (например, категории тегов блога), рекламы и т.д....
Я использую HTML 5 и CSS 3 с браузером Chrome и Stylus и Bootstrap 3.
[Обновить]
Я не хотел бы использовать дополнительное фоновое изображение - просто хочу, чтобы фон был размыт.
Есть несколько способов сделать это, но все они будут включать одни и те же основные шаги.
Поскольку эффект размытия действует на весь элемент, а не только на фон, вам нужен выделенный элемент, который будет содержать фон и эффект, применяемый к нему. Затем вы просто накладываете остальную часть контента на нее.
Вот моя попытка: http://jsfiddle.net/83aBP/
.background {
height: 100%;
width: 100%;
background: url(http://i.imgur.com/Zz5bPNl.png);
background-size: cover;
position: fixed;
-webkit-filter: blur(20px);
opacity: 0.8;
}
.content {
position: relative;
color: white;
z-index: 10;
}
background: url();
не работает ...
Я использовал этот плагин jQuery в прошлом, и он неплохо работал: http://blurjs.com/ Похоже, это именно то, что вы ищете. Это единственный метод, который я нашел, чтобы размыть контент за фоном.
Если это не то, что вы ищете, дайте мне знать, и я найду подходящее решение.
Держите фон в отдельном контейнере, чем тело:
<div id="background"></div>
<div id="body"></div>
Затем вы можете достичь эффекта параллакса iOS 7, применив следующий фильтр к фону:
#background {
-webkit-filter: blur(20px);
-moz-filter: blur(20px);
-o-filter: blur(20px);
-ms-filter: blur(20px);
filter: blur(20px);
opacity: 0.4;
}
#body {
color: #fff;
position: relative;
z-index: 100;
margin:0;
padding:0;
}