it-swarm-pt.tech

Existe uma maneira de usar duas sombras de caixa CSS3 em um elemento?

Eu estou tentando replicar um estilo de botão em um mock-up do Photoshop que tem duas sombras sobre ele. A primeira sombra é uma sombra de caixa mais clara interna (2px), e a segunda é uma sombra projetada do lado de fora do botão (5px).

enter image description here

No Photoshop, isso é fácil - Inner Shadow e Drop Shadow. No CSS eu posso aparentemente ter um ou outro, mas não ambos ao mesmo tempo.

Se você tentar o código abaixo em um navegador, verá que a sombra da caixa substitui a sombra da caixa inserida.

Aqui está a sombra da caixa de inserção:

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

E é isso que eu gostaria para a sombra no botão:

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

Para o contexto, aqui está o meu código de botão completo (com gradientes e tudo):

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;
}
136
Benjamin Humphrey

Você pode sombras separadas por vírgula:

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

As sombras de caixa podem usar vírgulas para ter múltiplos efeitos, assim como com imagens de fundo (em CSS3).

14
JayC