Czy istnieje sposób na użycie dwóch cieni pól CSS3 na jednym elemencie?


156

Próbuję odtworzyć styl przycisku w makiecie programu Photoshop, która ma dwa cienie. Pierwszy cień to wewnętrzny jaśniejszy cień ramki (2px), a drugi to cień poza samym przyciskiem (5px).

wprowadź opis obrazu tutaj

W Photoshopie jest to łatwe - Inner Shadow i Drop Shadow. W CSS najwyraźniej mogę mieć jedno lub drugie, ale nie oba naraz.

Jeśli wypróbujesz poniższy kod w przeglądarce, zobaczysz, że cień pola przesłania wstawkę cień pola.

Oto cień pola wstawionego:

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

A oto, co chciałbym dla cienia na przycisku:

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

W kontekście, oto mój pełny kod przycisku (z gradientami i wszystkim):

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;
}

Odpowiedzi:


406

Możesz oddzielić cienie przecinkami:

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

6
Wspomnij także, że pierwszy zadeklarowany cień jest jednym z następujących jsfiddle.net/webtiki/s9pkj
web-tiki

Przy okazji brakuje ci promienia spead; to może mieć duże znaczenie. Również krycie cienia naprawdę może mieć znaczenie. Możesz bawić się cieniem pudeł, jeśli otworzysz narzędzia programistyczne tutaj, na moim blogu. fullstack.life/css3-multiple-box-shadows.html
fullstacklife

16

Cienie pól mogą używać przecinków, aby mieć wiele efektów, tak jak w przypadku obrazów tła (w CSS3).


Chociaż można zastosować wiele cieni, odkryłem, że stosowanie cieni wstawianych jest szczególnym przypadkiem. (Ale to chyba dotyczyło tylko obrazów).
JayC,

Naprawdę? Jestem teraz na telefonie komórkowym, więc nie mogę sprawdzić; ale nie słyszałem o tym wcześniej ... Zajrzę się tym jutro, po pracy. = /
David mówi, że przywróć Monice

Jeśli chcesz wstawić cień na obrazie, musisz ustawić element lub pseudoelement na wierzchu. To może być trudne.
JayC,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.