2014-01-23 76 views
0

我想有轻微的弯曲效果和图像的弯曲部分下方的阴影样式在我的网站上的图片 - 就像这样(看到EBAY):用CSS/JS/jQuery弯曲图像效果?

enter image description here

是否有人知道如何实现?任何建议的jQuery或java脚本库?或者只能用CSS实现?

+0

您发布图片的图片没有弯曲。效果来自阴影,可以作为(背景)图像添加。 – Pietu1998

+0

哦,你是对的,它只是一个惊人的视觉效果... ;-) – salocinx

+0

...我使用的图像是不同的大小。但我会尝试添加带有css和阴影的白色边框作为相对位于左下角的背景图像。 – salocinx

回答

3

我做了一个修改slash197的答案。至少在Firefox中,它看起来完全像图片一样。然而,它是可笑的大,需要额外的标记。

我把图像容器div(大部分代码由slash197)在另一个div内。然后我又添加了一个div,给它一个影子,然后我正确定位了它。

HTML:

<div class="container"> 
    <div class="shadow">&nbsp;</div> 
    <div class="img-container"> 
     <img src="http://your.server.com/path/to/your/image.jpg" /> 
    </div> 
</div> 

CSS:

.container { 
    position: relative; 
    display: inline-block; /* or block */ 
    margin: 20px; /* not required */ 
} 
.img-container { 
    padding: 5px; 
    border: 1px solid #cccccc; 
    border-radius: 2px; 
    display: inline-block; 
    background: white; 
    position: relative; 
    top: 0; 
    left: 0; 
} 
.shadow { 
    box-shadow: 0 20px 5px 5px #cccccc; /* adjust color, blur or spread if you want */ 
    transform: skewy(-3deg); 
    position: absolute; 
    left: 8px; 
    bottom: 22px; /* adjust this to change the shadow's size */ 
    height: 20px; 
    width: 100px; 
} 

这是在其所有的荣耀:http://jsfiddle.net/VCEJB/1/

编辑:改变rotateskewy为它可能看起来稍微好一些。

+0

哇在Firefox上看起来很棒!非常感谢pietu! – salocinx

1

非常简单,仅用于CSS:将图像放入容器中,样式为具有填充,边框,边框半径和框阴影的容器。

箱子阴影会给你一个不同于你的例子中的阴影,但它可能已经足够了,所以你不需要外部库。像这样的东西http://jsfiddle.net/k7Kpv/2/

div { 
    padding: 5px; 
    border: 1px solid #cccccc; 
    border-radius: 2px; 
    box-shadow: 4px 5px 12px -3px #cccccc; 
    display: inline-block; 
} 
+0

感谢您的回答,但这并不完全是我意思。你建议的代码创建的阴影会在图像的两侧产生一个统一的阴影,但为了有这种“弯曲幻觉”,我只需要在角上有一个阴影...... – salocinx

+0

slash197,谢谢你的示例! – salocinx