Create a gist now

Instantly share code, notes, and snippets.

Embed
Simple Bended-Shadow CSS: Create the Bended Photo Effect without writing a million divs.
.bended-shadow {
position: relative;
width: 500px;
margin: 200px auto;
}
.bended-shadow::before, .bended-shadow::after {
content: '';
position: absolute;
width: 60%;
height: 30px;
-webkit-box-shadow: 0 0 36px rgba(0,0,0,1);
-moz-box-shadow: 0 0 36px rgba(0,0,0,1);
-ms-box-shadow: 0 0 36px rgba(0,0,0,1);
-o-box-shadow: 0 0 36px rgba(0,0,0,1);
box-shadow: 0 0 36px rgba(0,0,0,1);
-webkit-transform: rotate(-3deg) skew(-10deg);
-moz-transform: rotate(-3deg) skew(-10deg);
-o-transform: rotate(-3deg) skew(-10deg);
-ms-transform: rotate(-3deg) skew(-10deg);
transform: rotate(-3deg) skew(-10deg);
left: 16px; /* Decrease px to increase spread */
bottom: 17px; /* Decrease to lower shadow */
z-index: 0; /* Important! should be (-1) beneath your content container */
}
.bended-shadow::after {
-webkit-transform: rotate(3deg) skew(10deg);
-moz-transform: rotate(3deg) skew(10deg);
-o-transform: rotate(3deg) skew(10deg);
-ms-transform: rotate(3deg) skew(10deg);
transform: rotate(3deg) skew(10deg);
left: auto;
right: 16px; /* Decrease px to increase spread */
}
#content {
position: relative;
bottom: 4px;
padding: 3px;
background-color: #FFF;
min-height: 400px;
border: 1px solid #D0D0D0;
border-bottom: 1px solid #CACACA;
z-index: 1;
-webkit-box-shadow: 0 1px 1px rgba(0,0,0,.1);
-moz-box-shadow: 0 1px 1px rgba(0,0,0,.1);
-ms-box-shadow: 0 1px 1px rgba(0,0,0,.1);
-o-box-shadow: 0 1px 1px rgba(0,0,0,.1);
box-shadow: 0 1px 1px rgba(0,0,0,.1);
}
#photo {
background-color: #EEE;
border: 1px solid #D0D0D0;
min-height: 408px;
-webkit-box-shadow: inset 0 0 3px rgba(0,0,0,.09);
-moz-box-shadow: inset 0 0 3px rgba(0,0,0,.09);
-ms-box-shadow: inset 0 0 3px rgba(0,0,0,.09);
-o-box-shadow: inset 0 0 3px rgba(0,0,0,.09);
box-shadow: inset 0 0 3px rgba(0,0,0,.09);
}
h1 {
font-family: 'Helvetica Neue';
font-weight: bold;
font-size: 90px;
text-align: center;
padding-top: 70px;
color: #818486;
letter-spacing: 0;
text-shadow: 0 -1px 0 rgba(0,0,0,.5), 0 2px 1px rgba(255,255,255,.6);
}
<div class="bended-shadow">
<div id="content">
Put your Content/Image here.
</div>
</div>
@nrrrdcore

This comment has been minimized.

Show comment
Hide comment
@nrrrdcore

nrrrdcore May 10, 2012

Peep the source/demo here. OR check out the zoomed-in shot below.

Bended Shadow CSS

Owner

nrrrdcore commented May 10, 2012

Peep the source/demo here. OR check out the zoomed-in shot below.

Bended Shadow CSS

@soffes

This comment has been minimized.

Show comment
Hide comment

soffes commented May 10, 2012

Nice!

@stevenh512

This comment has been minimized.

Show comment
Hide comment
@stevenh512

stevenh512 May 19, 2012

Made a Compass mixin out of this one too, but it needs a little work. If the container is shorter than 80px or wider than 500px you can see the corners of the :before and :after.

Now I'm wondering how hard it would be to do the same with your gradient borders lol

Made a Compass mixin out of this one too, but it needs a little work. If the container is shorter than 80px or wider than 500px you can see the corners of the :before and :after.

Now I'm wondering how hard it would be to do the same with your gradient borders lol

@aripalo

This comment has been minimized.

Show comment
Hide comment
@aripalo

aripalo May 23, 2012

Really nice one this and that another backwards bent shadows.

Just to point out, the skew css transformation is removed from CSS3 spec working draft and replaced with skewX and skewY. More about that in https://developer.mozilla.org/en/CSS/transform#skew_Non-standard and the spec: http://www.w3.org/TR/css3-2d-transforms/

This gist snippet should work just fine by replacing the skew with skewX since your transforming against X-axis. Works at least on latest Google Chrome and Firefox, but haven't tested in other browsers.

aripalo commented May 23, 2012

Really nice one this and that another backwards bent shadows.

Just to point out, the skew css transformation is removed from CSS3 spec working draft and replaced with skewX and skewY. More about that in https://developer.mozilla.org/en/CSS/transform#skew_Non-standard and the spec: http://www.w3.org/TR/css3-2d-transforms/

This gist snippet should work just fine by replacing the skew with skewX since your transforming against X-axis. Works at least on latest Google Chrome and Firefox, but haven't tested in other browsers.

@rustyeddy

This comment has been minimized.

Show comment
Hide comment
@rustyeddy

rustyeddy Jan 8, 2014

Way cool, thanks for sharing!!! I thought I'd have to use PS to get this done.. Not being a designer I'm so stoked it is possible in css and that you shared!!!

Way cool, thanks for sharing!!! I thought I'd have to use PS to get this done.. Not being a designer I'm so stoked it is possible in css and that you shared!!!

@Rasha88

This comment has been minimized.

Show comment
Hide comment
@Rasha88

Rasha88 Jan 26, 2014

great work!!,
Thank u so much

Rasha88 commented Jan 26, 2014

great work!!,
Thank u so much

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment