I'm trying to replicate a button style in a Photoshop mock-up that has two shadows on it. The first shadow is an inner lighter box shadow (2px), and the second is a drop shadow outside the button (5px) itself.
In Photoshop this is easy - Inner Shadow and Drop Shadow. In CSS I can apparently have one or the other, but not both at the same time.
If you try the code below in a browser, you'll see that the box-shadow overrides the inset box-shadow.
Here's the inset box shadow:
box-shadow: inset 0 2px 0px #dcffa6;
And this is what I would like for the drop shadow on the button:
box-shadow: 0 2px 5px #000;
For context, here's my full button code (with gradients and all):
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 Answers 2
You can comma-separate shadows:
box-shadow: inset 0 2px 0px #dcffa6, 0 2px 5px #000;
-
14Also mention that the first declared shadow is on to of the following one(s) jsfiddle.net/webtiki/s9pkjweb-tiki– web-tiki2014年07月14日 14:20:46 +00:00Commented Jul 14, 2014 at 14:20
-
You're missing the spead radius btw; that can make quite a difference. Also the opacity on the shadow really can make a difference. You can play with box shadows if you open dev tools here on my blog entry. fullstack.life/css3-multiple-box-shadows.htmlfullstacklife– fullstacklife2016年03月17日 23:50:36 +00:00Commented Mar 17, 2016 at 23:50
Box shadows can use commas to have multiple effects, just like with background images (in CSS3).
-
While you can apply multiple shadows, applying inset shadows, I've found, is a special case. (But then that case only applied to images, I guess).JayC– JayC2011年12月19日 03:00:39 +00:00Commented Dec 19, 2011 at 3:00
-
Really? I'm on mobile at the moment so I can't check; but I'd not heard that reported before...I'll look into that, tomorrow, after work. =/David Thomas– David Thomas2011年12月19日 03:04:59 +00:00Commented Dec 19, 2011 at 3:04
-
If you want an inset shadow on an image you have to set an element or pseudoelement on top. It can be tricky.JayC– JayC2011年12月19日 03:21:10 +00:00Commented Dec 19, 2011 at 3:21