¿Hay alguna manera de soltar la sombra solo en la parte inferior? Tengo un menú con 2 imágenes una al lado de la otra. No quiero una sombra correcta porque se superpone a la imagen correcta. No me gusta usar imágenes para esto, así que hay una manera de soltarlo solo en la parte inferior como:
box-shadow-bottom: 10px #FFF;
¿o similar?
-moz-box-shadow: 0px 3px 3px #000;
-webkit-box-shadow: 0px 3px 3px #000;
box-shadow-bottom: 5px #000;
/* For IE 8 */
-ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=180, Color='#000000')";
/* For IE 5.5 - 7 */
filter: progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=180, Color='#000000');
box-shadow-bottom
que no existe y que nadie admite. Visite nicolasgallagher.com/css-drop-shadows-without-images/demo para conocer las técnicas legítimas de sombreado de cajas.filter
también funcionarán en IE8 e IE9. No es necesario-ms-filter
en este caso.Respuestas:
ACTUALIZACIÓN 4
Igual que la actualización 3 pero con css moderno (= menos reglas) para que no se requiera un posicionamiento especial en el pseudo elemento.
ACTUALIZACIÓN 3
Todas mis respuestas anteriores han estado usando marcado adicional para crear este efecto, que no es necesariamente necesario. Creo que esta es una solución mucho más limpia ... el único truco es jugar con los valores para obtener el posicionamiento correcto de la sombra, así como la fuerza / opacidad correcta de la sombra. Aquí hay un nuevo violín, usando pseudo-elementos :
http://jsfiddle.net/UnsungHero97/ARRRZ/2/
HTML
CSS
ACTUALIZACIÓN 2
Aparentemente, puede hacer esto con solo un parámetro adicional para el CSS de sombra de cuadro como todos los demás acaban de señalar. Aquí está la demostración:
http://jsfiddle.net/K88H9/821/
CSS
Esta sería una mejor solución. El parámetro adicional que se agrega se describe como:
ACTUALIZAR
Echa un vistazo a la demostración en jsFiddle: http://jsfiddle.net/K88H9/4/
Lo que hice fue crear un "elemento de sombra" que se escondería detrás del elemento real en el que querrías tener una sombra. Hice que el ancho del "elemento de sombra" sea exactamente menos ancho que el elemento real en 2 veces la sombra que especifique; entonces lo alineé correctamente.
HTML
CSS
Respuesta original
Sí, puede hacerlo con la misma sintaxis que ha proporcionado. El primer valor controla el posicionamiento horizontal y el segundo valor controla el posicionamiento vertical. Así que solo establezca el primer valor
0px
y el segundo en el desplazamiento que desee de la siguiente manera:Para obtener más información sobre las sombras de los cuadros, consulte estos:
Espero que esto ayude.
fuente
box-shadow: 0 2px 4px #000000
es un valor borroso. Ver aquí http://jsfiddle.net/K88H9/7/ . Pero notará que hay un poco de desenfoque a la izquierda y a la derecha del elemento, donde en la solución de Hristo no existe.box-shadow-bottom
, aunque creativo, en realidad no existe.Solo usa el parámetro spread para hacer la sombra más pequeña:
Demostración en vivo: http://dabblet.com/gist/a8f8ba527f5cff607327
Para no ver ninguna sombra en los lados, el radio de propagación (valor absoluto del) (cuarto parámetro) debe ser el mismo que el radio de desenfoque (tercer parámetro).
fuente
box-shadow:0 8px 4px -6px
y verá solo la sombra inferior.Si tiene un color fijo en el fondo, puede ocultar el efecto de sombra lateral con dos sombras de enmascaramiento que tengan el mismo color de fondo y desenfoque = 0, por ejemplo:
Tenga en cuenta que la sombra negra debe ser la última y tiene una dispersión negativa (-3px) para evitar que se extienda más allá de las esquinas.
Aquí el violín (cambia el color de las sombras de enmascaramiento para ver cómo funciona realmente ).
fuente
transparent
color para las sombras de enmascaramiento, ¿no?Creo que esto es lo que buscas?
fuente
Siempre es mejor leer las especificaciones . No hay
box-shadow-bottom
propiedad, y como Lea señala, siempre debe colocar la propiedad sin prefijo en la parte inferior, después de las prefijadas.Entonces es:
fuente
¿Qué tal si usamos un div que contiene el desbordamiento configurado como oculto y algo de relleno en la parte inferior? Esta parece ser la solución más simple.
Lamento decir que no pensé en esto yo mismo, pero lo vi en otro lugar .
Como dijo Jorgen Evens .
fuente
padding-bottom
(digamos 5px), también puede establecer un negativomargin-bottom
(de -5px) para compensar el espacio agregado.También puede usar
clip-path
para recortar (ocultar) todos los bordes desbordados, excepto el que desea mostrar:Ver clip-path (MDN) . Los argumentos para
polygon
son el punto superior izquierdo , el punto superior derecho , el punto inferior derecho y el punto inferior izquierdo . Al establecer el borde inferior en200%
(o cualquier número mayor que100%
), restringe su desbordamiento solo al borde inferior.fuente
También necesitaba una sombra pero solo debajo de una imagen y establecerla ligeramente a la izquierda y a la derecha. Esto funcionó para mí:
El elemento al que se aplica es una imagen de toda la página (980 px x 300 px).
Si ayuda al jugar con la configuración, se ejecutan de la siguiente manera:
sombra horizontal, sombra vertical, distancia de desenfoque, dispersión (es decir, tamaño de sombra) y color.
fuente
Es mejor buscar sombra:
Este código se está utilizando actualmente en la web stackoverflow.
fuente
Este bolígrafo de código (no para mí) demuestra una forma súper simple de hacer esto y los otros lados por sí mismos bastante bien:
https://codepen.io/zeckdude/pen/oxywmm
fuente
Si su fondo es sólido (o puede reproducirlo usando CSS), puede usar un degradado lineal de esa manera:
Esto generará un gradiente de 5px en la parte inferior del elemento, desde negro con una opacidad del 30% hasta completamente transparente. El resto del elemento tiene fondo blanco. Por supuesto, al cambiar las últimas 2 paradas de color del degradado lineal, puede hacer que el fondo sea completamente transparente.
fuente
También podría hacer un degradado en la parte inferior; esto fue útil para mí porque la sombra que quería estaba en un elemento que ya era semitransparente, por lo que no tuve que preocuparme por ningún recorte:
Simplemente haga que las propiedades "bottom" y "height" coincidan y configure sus valores rgba a lo que quiera que estén en la parte superior / inferior de la sombra
fuente
Puedes hacer eso así:
Sintaxis general:
Ejemplo: queremos hacer solo una sombra del cuadro inferior con color rojo,
para hacerlo, tenemos que establecer todas las opciones de los lados donde tenemos que establecer las opciones de sombra del cuadro inferior y configurar todas las demás como vacías de la siguiente manera:
fuente
actualice en otra persona su respuesta con lados transparentes en lugar de blanco para que también funcione en otros fondos de color.
fuente
sombra interior
fuente