做这种投影的最佳方法是什么?

时间:2012-05-10 20:04:39

标签: css drop-shadow

我有一个网站,其中包含一列图像和div(两者的混合),它们的大小始终相同。

在所有这些上,我想添加某种投影(如此处所示): enter image description here

我使用过CSS阴影,但我从未在CSS中看到过这样的情况。这可以在CSS中完成吗?假设它不能,那么我猜我只会使用阴影切片作为图形,可能是背景。如果这是唯一的路线,我该如何将其应用于每个图像或div?

现在我正在做的是在每个图像或div下面放一个div:

<div class="rightimgdropshadow">&nbsp;</div>

...并在CSS中执行此操作: .rightimgdropshadow

{
    background-image: url(../images/site-structure/right-col-image-shadow.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    width 100%
    height: 20px;
}

有更好的方法吗?谢谢!

3 个答案:

答案 0 :(得分:11)

如果您更喜欢使用CSS来创建这种类型的阴影,可以将CSS3用作seen here!

<强> CSS

/* Lifted corners */

.lifted {
    -moz-border-radius:4px; 
         border-radius:4px;
}

.lifted:before,
.lifted:after { 
    bottom:15px;
    left:10px;
    width:50%;
    height:20%;
    max-width:300px;
    -webkit-box-shadow:0 15px 10px rgba(0, 0, 0, 0.7);   
       -moz-box-shadow:0 15px 10px rgba(0, 0, 0, 0.7);
            box-shadow:0 15px 10px rgba(0, 0, 0, 0.7);
    -webkit-transform:rotate(-3deg);    
       -moz-transform:rotate(-3deg);   
        -ms-transform:rotate(-3deg);   
         -o-transform:rotate(-3deg);
            transform:rotate(-3deg);
}

.lifted:after {
    right:10px; 
    left:auto;
    -webkit-transform:rotate(3deg);   
       -moz-transform:rotate(3deg);  
        -ms-transform:rotate(3deg);  
         -o-transform:rotate(3deg);
            transform:rotate(3deg);
}

Made a Fiddle!

答案 1 :(得分:0)

您可以使用box-shadow

.rightimgdropshadow { 
    box-shadow: 0px 2px 3px rgba(0,0,0,.3);
}

这会产生类似的效果,但看起来不一样。

Some info就此而言。

答案 2 :(得分:0)

的内容
border: 1px solid #333;
border-bottom: none;
padding: 10px 10px 20px;
background: url('insert_image') no-repeat;
background-position: left bottom;

底部的额外填充允许背景位于正确的位置。

这有帮助吗?