Gibt es eine Möglichkeit, zwei CSS3-Box-Schatten für ein Element zu verwenden?


156

Ich versuche, einen Schaltflächenstil in einem Photoshop-Modell mit zwei Schatten zu replizieren. Der erste Schatten ist ein innerer hellerer Kastenschatten (2 Pixel) und der zweite ist ein Schlagschatten außerhalb der Schaltfläche (5 Pixel).

Geben Sie hier die Bildbeschreibung ein

In Photoshop ist dies einfach - Inner Shadow und Drop Shadow. In CSS kann ich anscheinend das eine oder andere haben, aber nicht beide gleichzeitig.

Wenn Sie den folgenden Code in einem Browser ausprobieren, werden Sie feststellen, dass der Box-Schatten den eingefügten Box-Schatten überschreibt.

Hier ist der Schatten der eingefügten Box:

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

Und das möchte ich für den Schlagschatten auf dem Button:

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

Für den Kontext ist hier mein vollständiger Schaltflächencode (mit Verläufen und allen):

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

Antworten:


405

Sie können Schatten durch Kommas trennen:

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

6
Erwähnen Sie auch, dass der erste deklarierte Schatten einer der folgenden ist: jsfiddle.net/webtiki/s9pkj
web-tiki

Sie vermissen übrigens den Spead-Radius; das kann einen großen Unterschied machen. Auch die Deckkraft des Schattens kann wirklich einen Unterschied machen. Sie können mit Box Shadows spielen, wenn Sie hier in meinem Blogeintrag Entwickler-Tools öffnen. fullstack.life/css3-multiple-box-shadows.html
fullstacklife

16

Box-Schatten können Kommas verwenden , um mehrere Effekte zu erzielen, genau wie bei Hintergrundbildern (in CSS3).


Während Sie mehrere Schatten anwenden können, ist das Anwenden von eingefügten Schatten, wie ich festgestellt habe, ein Sonderfall. (Aber dann galt dieser Fall wohl nur für Bilder).
JayC

"Ja wirklich?" Ich bin gerade auf dem Handy und kann daher nicht nachsehen. aber ich hatte das noch nie gehört ... Ich werde mich morgen nach der Arbeit darum kümmern. = /
David sagt, Monica

Wenn Sie einen eingefügten Schatten auf einem Bild wünschen, müssen Sie ein Element oder Pseudoelement darüber setzen. Es kann schwierig sein.
JayC
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.