Necesito crear una caja-sombra en algún block
elemento, pero solo (por ejemplo) en su lado derecho. La forma en que lo hago es envolver el elemento interno box-shadow
en uno externo padding-right
y, overflow:hidden;
por lo tanto, los otros tres lados de la sombra no son visibles.
¿Hay alguna forma mejor de lograr esto? Al igual que box-shadow-right
?
EDITAR : Mis intenciones son crear solo la parte vertical de la sombra. Exactamente lo mismo que haría repeat-y
la regla background:url(shadow.png) 100% 0% repeat-y
.
css
shadow
box-shadow
tillda
fuente
fuente
Respuestas:
Sí, puede usar la propiedad de propagación de sombra de la regla de cuadro-sombra:
La cuarta propiedad
-2px
es la extensión de la sombra, puede usarla para cambiar la extensión de la sombra, haciendo que parezca que la sombra está solo en un lado.Esto también utiliza las reglas de posicionamiento de sombra, lo
10px
envía a la derecha (desplazamiento horizontal) y lo0px
mantiene debajo del elemento (desplazamiento vertical).5px
es el radio de desenfoque :)Ejemplo para ti aquí .
fuente
box-shadow
reglas fueron estandarizadas.Mi solución hecha a medida que es fácil de editar:
HTML:
css:
Demostración:
http://jsfiddle.net/jDyQt/103
fuente
Para obtener el efecto recortado en hasta dos lados, puede usar pseudoelementos con gradientes de fondo.
agregará un agradable efecto de sombra a la izquierda y derecha de los elementos que normalmente forman un documento.
fuente
Simplemente use :: after o :: before pseudo elemento para agregar la sombra. Hágalo 1px y colóquelo en el lado que desee. A continuación se muestra un ejemplo de arriba.
fuente
Aquí está mi ejemplo:
fuente
Aquí hay un pequeño truco que hice.
1. Cree un
<div class="one_side_shadow"></div>
derecho debajo del elemento para el que quiero crear la sombra del cuadro de un lado (en este caso, quiero una sombra insertada de un lado para queid="element"
venga desde la parte inferior)2. Luego creé un regular
box-shadow
usando un desplazamiento vertical negativo para empujar la sombra hacia arriba a un lado.fuente
Esta podría ser una manera simple
Asigne esto a cualquier div
fuente
Aquí hay un codepen para demostrar para cada lado, o un fragmento de trabajo:
fuente
Este sitio me ayudó: https://gist.github.com/ocean90/1268328 (Tenga en cuenta que en ese sitio, la izquierda y la derecha se invierten a partir de la fecha de esta publicación ... pero funcionan como se esperaba). Se corrigen en el siguiente código.
fuente
fuente
Lo que hago es crear un bloque vertical para la sombra y colocarlo al lado de donde debería estar mi elemento de bloque. Los dos bloques se envuelven en otro bloque:
Ejemplo de jsFiddle aquí .
fuente
Ok, aquí hay un intento más. Usando pseudo elementos y aplicando la propiedad de la caja de sombra sobre ellos.
html:
hablar con descaro a:
https://codepen.io/alex3o0/pen/PrMyNQ
fuente