Intereting Posts
Bootstrap 4 navbar-inverse не имеет цвета Угловой фильтр return html Нужно ли добавлять атрибут nofollow rel к ссылкам, если страница href содержит метатег robots, содержащий noindex и nofollow? Создание дыры в элементе Как избежать блокировки моей структуры HTML при использовании jQuery для создания богатого клиентского опыта? Строковое выравнивание текста в поперечном режиме Могу ли я использовать img: hover для получения другого элемента? Как стиль div иметь цвет фона для всей ширины содержимого, а не только для ширины дисплея? Автофокус не работает для поля ввода Определить, был ли элемент изменен с помощью javascript? Как добавить новую строку в таблицу с анимацией с помощью jQuery? Включение автоматического заполнения формы браузера всплывающее окно с использованием html / javascript / css Apple File System Разрешение на чтение из библиотеки фотографий Можно ли создать ячейку таблицы с другим цветом фона, если значение = <определенное число с jquery или PHP?

Blur Img & Div в HTML с помощью CSS

Можно ли применить размытие к элементу HTML (div & img)?

Я разрабатываю исключительно для iPad, поэтому кросс-браузерная совместимость не является проблемой, и я могу использовать HTML5-методы CSS3.

Я знаю, как размыть текст, но этот CSS не размывает фактический элемент HTML или его границу:

text-shadow: 0 0 8px #000; color: transparent; 

Я googled это, но это не размывает изображение в моих браузерах:

 filter: blur(strength=50); 

Сегодня я увидел крутой учебник о размывании контента с помощью CSS box-shadow s, text-shadow s, opacity и цвета.

Вот демо: http://tympanus.net/Tutorials/ItemBlur/

И учебник: http://tympanus.net/codrops/2011/12/14/item-blur-effect-with-css3-and-jquery/

Webkit имеет свойство -webkit-filter которое позволяет использовать методы размытия: -webkit-filter: blur(15px);

http://jsfiddle.net/danielfilho/KxWRA/

Вы можете просто добавить это в свой css, для изображения:

В следующем примере вы будете использовать размытие с радиусом 5 пикселей. И чрезвычайно важно использовать все префиксы для поставщиков, поэтому он работает во всех браузерах с этой реализованной функцией, неистребимой, она приходит к «стабильной» версии.

 img{ -webkit-filter: blur(5px); -moz-filter: blur(5px); -ms-filter: blur(5px); -o-filter: blur(5px); filter: blur(5px); } 

Я думаю, что лучший способ – сложить один и тот же образ над собой несколько раз и проверить различное расположение и непрозрачность на наложенных.

Вот CSS, который я придумал. Имейте в виду, что я использую селектор CSS3 nth-child (но у вас нет проблемы с этим):

 img { width:300px; height:300px; position:absolute; opacity:0.2; } .container { position:relative; overflow:hidden; width:300px; height:300px; } img:nth-child(1) { opacity:1; } img:nth-child(2) { left:2px; top:2px; } img:nth-child(3) { left:-2px; top:-2px; } img:nth-child(4) { left:-1px; top:-1px; } img:nth-child(5) { left:1px; top:1px; } направо img { width:300px; height:300px; position:absolute; opacity:0.2; } .container { position:relative; overflow:hidden; width:300px; height:300px; } img:nth-child(1) { opacity:1; } img:nth-child(2) { left:2px; top:2px; } img:nth-child(3) { left:-2px; top:-2px; } img:nth-child(4) { left:-1px; top:-1px; } img:nth-child(5) { left:1px; top:1px; } направо img { width:300px; height:300px; position:absolute; opacity:0.2; } .container { position:relative; overflow:hidden; width:300px; height:300px; } img:nth-child(1) { opacity:1; } img:nth-child(2) { left:2px; top:2px; } img:nth-child(3) { left:-2px; top:-2px; } img:nth-child(4) { left:-1px; top:-1px; } img:nth-child(5) { left:1px; top:1px; } направо img { width:300px; height:300px; position:absolute; opacity:0.2; } .container { position:relative; overflow:hidden; width:300px; height:300px; } img:nth-child(1) { opacity:1; } img:nth-child(2) { left:2px; top:2px; } img:nth-child(3) { left:-2px; top:-2px; } img:nth-child(4) { left:-1px; top:-1px; } img:nth-child(5) { left:1px; top:1px; } 

HTML:

 

Результат довольно многообещающий.

CSS не имеет возможности размытия, кроме техник с text-shadow и box-shadow . Но даже с этими границами и изображениями не могут быть размыты.

Однако эта библиотека JavaScript может обрабатывать изображения.

Кроме того, вы можете найти эту технику интересной. Это аккуратная иллюзия с использованием готовых смазанных изображений.

Мне пришлось довольно тщательно исследовать эту проблему не так давно и придумал чрезвычайно гибкое решение, хотя это может быть излишним для потребностей некоторых людей. Мне нужны были не только размытые изображения, но и динамический радиус размытия, цвет наложения и непрозрачность наложения для различных видов изображений. Мне также нужно было иметь возможность просто размывать изображение в фоновом режиме с другими элементами, наложенными поверх него. Вот лучшее кросс-браузерное (и перформантное) решение, которое я смог создать.

Во-первых, у меня был бы SVG под рукой, без blur.svg называемого blur.svg . Он применяет фильтр размытия, и если вы посмотрите внимательно, stdDeviation (который устанавливает радиус размытия) на самом деле задается программным stdDeviation из переданного параметра в URL-адрес, запрашивающий актив.

 < ?xml version="1.0" encoding="utf-8"?> < !DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">      

Затем у меня был SCSS mixin, который позволил бы добавить наложение размытия на любую оболочку с настраиваемым радиусом размытия, наложением цвета и непрозрачностью наложения.

 @mixin background_blurred($blur_radius:4, $overlay_color:white, $overlay_opacity:0.6) { position: relative; .background_blurred { width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 1; filter: url('blur.svg#blur?blur=#{$blur_radius}'); filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius='#{$blur_radius}'); transform: translateZ(0); &:after { content: ''; width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: $overlay_color; opacity: $overlay_opacity; } } .foreground { width: 100%; height: 100%; position: relative; z-index: 2; } } 

Возможно, вам интересно, почему я включил transform: translateZ(0); , Единственный эффект, который заключается в том, чтобы заставить аппаратное ускорение на рендере сохранять работоспособность. Вы также можете задаться вопросом, почему нет префиксов поставщиков. Вы можете искать такие вещи, как filter на CanIUse, если хотите, но я использовал autoprefixer в этом проекте, чтобы беспокоиться об этом. И, конечно, зачем фильтровать этот SVG, а не с чем-то вроде blur(4px) ? Разве это не будет проще? Это было бы, но Firefox (с момента написания) только поддерживает свойство filter с URL-адресом.

Затем вы можете применить blur mixin к classу обертки:

 .my_wrapper_class { @include background_blurred(3, #f9f7f5, 0.7); } 

Обратите внимание, что для этого метода мы должны использовать class с настраиваемым фоном, установленным в атрибуте стиля, вместо тега изображения с помощью src. Вы можете настроить положение фона и resize фона по своему вкусу.

 

Stuff that should appear above the blurred background and not be blurred.

С помощью CSS3 мы можем легко настроить изображение. Но помните, что это не меняет образ. Он отображает только отрегулированное изображение.

Смотрите демо-версию и полный исходный код здесь.

http://purpledesign.in/blog/adjust-an-image-using-css3-html5/

Дополнительную информацию см. В следующем коде.

Чтобы сделать изображение серым:

 img { -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); } 

Чтобы дать вид сепии:

  img { -webkit-filter: sepia(100%); -moz-filter: sepia(100%); } 

Чтобы настроить яркость:

  img { -webkit-filter: brightness(50%); -moz-filter: brightness(50%); } 

Чтобы настроить контрастность:

  img { -webkit-filter: contrast(200%); -moz-filter: contrast(200%); } 

Размытие изображения:

  img { -webkit-filter: blur(10px); -moz-filter: blur(10px); }