Есть ли способ использовать две тени блока CSS3 на одном элементе? - PullRequest
137 голосов
/ 19 декабря 2011

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

enter image description here

В Фотошопе это легко - Внутренняя Тень и Тень. В CSS я, видимо, могу иметь одно или другое, но не оба одновременно.

Если вы попробуете приведенный ниже код в браузере, вы увидите, что box-shadow перекрывает вставку box-shadow.

Вот тень вставки:

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

Ответы [ 2 ]

357 голосов
/ 19 декабря 2011

Вы можете разделить запятыми тени:

box-shadow: inset 0 2px 0px #dcffa6, 0 2px 5px #000;
15 голосов
/ 19 декабря 2011

Для теней ящиков можно использовать запятые , чтобы иметь несколько эффектов, как с фоновыми изображениями (в CSS3).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...