Чи існує спосіб використання двох тіней CSS3 для одного елемента?


156

Я намагаюся повторити стиль кнопки у макеті Photoshop, на якому є дві тіні. Перша тінь - це внутрішня світла тінь коробки (2 пікселя), а друга - тінь для краплі поза самою кнопкою (5 пікселів).

введіть тут опис зображення

У Photoshop це легко - Inner Shadow і Drop Shadow. У CSS я, мабуть, можу мати те чи інше, але не те й інше одночасно.

Якщо ви спробуєте код нижче у веб-переглядачі, ви побачите, що тінь-поле замінює вставну тінь-поле.

Ось тінь для вставки:

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

І ось що мені хотілося б для тіні на кнопці:

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

Для контексту, ось мій повний код кнопки (з градієнтами та всіма):

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

Відповіді:


406

Ви можете розділяти комами тіні:

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

6
Також зауважте, що перша заявлена ​​тінь перерахована на наступну (и) jsfiddle.net/webtiki/s9pkj
web-tiki

Вам не вистачає радіус скорочення btw; це може дуже змінити ситуацію. Також непрозорість на тіні дійсно може змінити значення. Ви можете грати з тіньовими коробками, якщо ви відкриєте інструменти для розробників тут, у моєму записі до блогу. fullstack.life/css3-multiple-box-shadows.html
fullstacklife

16

Тіньові коробки можуть використовувати коми для отримання декількох ефектів, як і фонові зображення (у CSS3).


Хоча ви можете наносити кілька тіней, нанесення вставних тіней, я знайшов, є особливим випадком. (Але тоді цей випадок стосувався лише зображень, я думаю).
JayC

Дійсно? Я зараз на мобільному, тому не можу перевірити; але я не чув про те, про що повідомлялося раніше ... Я вивчу це завтра, після роботи. = /
Девід каже повернути Моніку

Якщо ви хочете вставити тінь на зображення, вам слід встановити елемент або псевдоелемент зверху. Це може бути хитро.
JayC
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.