Parece que la superposición de Apple es más que solo una transparencia. ¿Alguna idea sobre cómo lograr este efecto con CSS y posiblemente JS?
javascript
css
user-interface
blur
Aterronado
fuente
fuente
Respuestas:
Es posible con CSS3:
Ejemplo aquí => jsfiddle
fuente
-moz-filter: blur()
. En su lugar, debe usar un filtro SVG, consulte mi respuesta para obtener más detalles.Me hiciste querer probar, así que lo hice, mira el ejemplo aquí:
http://codepen.io/Edo_B/pen/cLbrt
Utilizando:
Eso es.
También creo que esto podría hacerse dinámicamente para cualquier pantalla si se usa el lienzo para copiar el dom actual y difuminarlo.
fuente
[Editar] En el futuro (móvil) Safari 9 habrá
-webkit-backdrop-filter
exactamente para esto. Mira este bolígrafo que hice para mostrarlo.Pensé en esto durante las últimas 4 semanas y se me ocurrió esta solución.
Demo en vivo
[Editar] Escribí una publicación más profunda sobre CSS-Tricks
Esta técnica está utilizando Regiones CSS, por lo que el soporte del navegador no es el mejor en este momento. ( http://caniuse.com/#feat=css-regions )
La parte clave de esta técnica es separar el contenido del diseño mediante la Región CSS. Primero defina un
.content
elemento conflow-into:content
y luego use la estructura apropiada para desenfocar el encabezado.La estructura del diseño:
Las dos partes importantes de este diseño son
.header__background
y.phone__content
, sin embargo, estos son los contenedores donde debería fluir el contenido.El uso de Regiones CSS es simple como
flow-from:content
(.content
fluye hacia la región nombradacontent
)Ahora viene la parte difícil. Queremos que el contenido fluya siempre a través de
.header__background
porque esa es la sección donde se borrará el contenido. (usandowebkit-filter:blur(10px);
)Esto se hace por
transfrom:translateY(-$HeightOfTheHeader)
el.content
de asegurar que el contenido siempre fluirá a pesar de que el.header__background
. Esta transformación siempre oculta algo de contenido debajo del encabezado. Arreglar esto es fácil agregarpara acomodarse a la transformación.
Actualmente está trabajando en:
fuente
Esto es posible con FireFox ahora gracias al atributo de estilo de elemento .
Este atributo experimental le permite usar cualquier contenido HTML como imagen de fondo. Entonces, para crear el fondo necesita tres superposiciones:
-moz-element
fondo que establece el contenido. Tenga en cuenta que FX no admite elfilter: blur()
atributo, por lo que necesitamos un SVG.Entonces, juntos:
Filtro de desenfoque SVG (funciona en FX, podrían usar otros navegadores
filter:blur()
):Estilo de desenfoque CSS:
Finalmente 3 capas:
Luego, para mover esto, solo configure el
background-position
(ejemplo en jQuery pero podría usar cualquier cosa):Aquí es como un JS Fiddle, solo FX.
fuente
Mira esta página de demostración.
Esta demostración utiliza html2canvas para representar el documento como una imagen.
http://blurpopup.labs.daum.net/
fuente
Este bolígrafo que encontré el otro día parecía hacerlo maravillosamente, solo un poco de CSS y 21 líneas de JavaScript. No había oído hablar del comando cloneNode js hasta que encontré esto, pero funcionó totalmente para lo que necesitaba con seguridad.
http://codepen.io/rikschennink/pen/zvcgx
Detalle: A. Básicamente, mira su contenido div e invoca un cloneNode en él, por lo que crea un duplicado que luego coloca dentro del desbordamiento: objeto de encabezado oculto en la parte superior de la página. B. Luego, simplemente escucha el desplazamiento para que ambas imágenes parezcan coincidir y difumina la imagen del encabezado ... y BAM. Efecto logrado.
En realidad, no es totalmente factible en CSS hasta que obtienen un poco de scriptability integrado en el lenguaje.
fuente
El ejemplo está aquí:
http://versie1.com/TEST/ios7/
fuente
hizo una demostración rápida ayer que realmente hace de lo que estás hablando. http://bit.ly/10clOM9 esta demostración hace el paralaje basado en el acelerómetro, por lo que funciona mejor en un iPhone. Básicamente solo copio el contenido que estamos superponiendo en un elemento de posición fija que se vuelve borroso.
nota: deslice hacia arriba para ver el panel.
(Utilicé ID de css horribles, pero entiendes)
fuente
No estoy muy seguro de eso, creo que CSS no es capaz de hacer esto en este momento
Sin embargo, Chris Coyier ha blogueado sobre una técnica antigua con múltiples imágenes para lograr dicho efecto, http://css-tricks.com/blurry-background-effect/
fuente
Mira esto http://codepen.io/GianlucaGuarini/pen/Hzrhf Parece que hace el efecto sin duplicar la imagen de fondo del elemento debajo de sí mismo. Ver textos están borrosos también en el ejemplo.
Vague.js
fuente
Buenas noticias
A partir de hoy 11 de abril de 2020 , esto es fácilmente posible con la
backdrop-filter
propiedad CSS, que ahora es una característica estable en Chrome, Safari y Edge.Quería esto en nuestra aplicación móvil híbrida, por lo que también está disponible en Android / Chrome Webview y Safari WebView.
Ejemplo de código:
Simplemente agregue la propiedad CSS:
UI Ejemplo 1
Véalo trabajando en este bolígrafo o pruebe la demostración:
UI Ejemplo 2
Tomemos un ejemplo de la aplicación McDonald's porque es bastante colorida. Tomé su captura de pantalla y la agregué como fondo en
body
mi aplicación.Quería mostrar un texto encima con el efecto brillante. Usando
backdrop-filter: blur(20px);
en la superposición encima, pude ver esto: 😍fuente
backdrop-filter
Sin embargo, todavía no funciona automáticamente en Firefox. Dudo que los usuarios activen las opciones para activarbackdrop-filter
deliberadamente solo para ver este efecto.He estado usando filtros svg para lograr efectos similares para sprites
<feGaussianBlur stdDeviation="10"/>
ejemplo de Keith .<image ...>
etiqueta para aplicarla a cualquier imagen o incluso use varias imágenes.fuente
¡Esto podría ayudarte!
Esto cambia dinámicamente el fondo solo lo hace IOS
fuente
Aquí está mi opinión sobre esto con jQuery. La solución no es universal, lo que significa que uno tendría que ajustar algunas de las posiciones y cosas dependiendo del diseño real.
Básicamente lo que hice es: al clonar el disparador / eliminar todo el fondo (lo que debería ser borroso) a un contenedor con contenido no borroso (que, opcionalmente, tiene un desbordamiento oculto si no es de ancho completo) y posicionarlo correctamente. La advertencia es que al cambiar el tamaño de la ventana, el div borroso no coincidirá con el original en términos de posición, pero esto podría resolverse con alguna función de cambio de tamaño de la ventana (honestamente, no podría molestarme con eso ahora).
¡Realmente agradecería su opinión sobre esta solución!
Gracias
Aquí está el violín , no probado en IE.
HTML
CSS
jQuery
fuente