¿Hay alguna manera de usar dos sombras de cuadro CSS3 en un elemento?


157

Estoy tratando de replicar un estilo de botón en una maqueta de Photoshop que tiene dos sombras. La primera sombra es una sombra de cuadro más clara interna (2px), y la segunda es una sombra fuera del botón (5px).

ingrese la descripción de la imagen aquí

En Photoshop esto es fácil: Inner Shadow y Drop Shadow. En CSS, aparentemente puedo tener uno u otro, pero no ambos al mismo tiempo.

Si prueba el siguiente código en un navegador, verá que la sombra de cuadro anula la sombra de cuadro insertada.

Aquí está la sombra del cuadro insertado:

box-shadow: inset 0 2px 0px #dcffa6;

Y esto es lo que me gustaría para la sombra del botón:

box-shadow: 0 2px 5px #000;

Para el contexto, aquí está mi código de botón completo (con gradientes y todo):

button {
    outline: none;
    position: relative;
    width: 160px;
    height: 40px;
    font-family: 'Open Sans', sans-serif;
    color: #fff;
    font-weight: 800;
    font-size: 12px;
    text-shadow: 0px 1px 3px black; 
    border-radius: 3px;
    background-color: #669900;
    background: -webkit-gradient(linear, left top, left bottom, from(#97cb52), to(#669900));
    background: -moz-linear-gradient(top, #97cb52, #669900);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#97cb52', endColorstr='#669900');
    box-shadow: inset 0 2px 0px #dcffa6;
    box-shadow: 0 2px 5px #000;
    border: 1px solid #222;
    cursor: pointer;
}

Respuestas:


407

Puede separar las comas de las sombras:

box-shadow: inset 0 2px 0px #dcffa6, 0 2px 5px #000;

66
Mencione también que la primera sombra declarada se encuentra en la (s) siguiente (s) jsfiddle.net/webtiki/s9pkj
web-tiki

Te estás perdiendo el radio de la lanza por cierto; eso puede hacer una gran diferencia. Además, la opacidad en la sombra realmente puede marcar la diferencia. Puedes jugar con sombras de cuadro si abres herramientas de desarrollo aquí en mi entrada de blog. fullstack.life/css3-multiple-box-shadows.html
fullstacklife

17

Las sombras de cuadro pueden usar comas para tener múltiples efectos, al igual que con las imágenes de fondo (en CSS3).


Si bien puede aplicar varias sombras, la aplicación de sombras insertadas , he encontrado, es un caso especial. (Pero supongo que ese caso solo se aplica a las imágenes, supongo).
JayC

De Verdad? Estoy en el móvil en este momento, así que no puedo comprobarlo; pero no había escuchado eso antes ... Lo investigaré mañana, después del trabajo. = /
David dice que reinstale a Mónica el

Si desea una sombra insertada en una imagen, debe establecer un elemento o pseudoelemento en la parte superior. Puede ser complicado
JayC
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.