Div框阴影只在2边?

时间:2013-06-10 09:24:20

标签: jquery html5 css3

我如何获得像以下网站一样的盒子阴影?

http://literacy2030.org/

joinUs,找到allis,获取支持框。

3 个答案:

答案 0 :(得分:2)

试试这个css:

.shadow:before, .shadow:after
{
  z-index: -1;
  position: absolute;
  content: "";
  bottom: 15px;
  left: 10px;
  width: 50%;
  top: 80%;
  max-width:300px;
  background: #777;
  -webkit-box-shadow: 0 15px 10px #777;
  -moz-box-shadow: 0 15px 10px #777;
  box-shadow: 0 15px 10px #777;
  -webkit-transform: rotate(-3deg);
  -moz-transform: rotate(-3deg);
  -o-transform: rotate(-3deg);
  -ms-transform: rotate(-3deg);
  transform: rotate(-3deg);
}
.shadow:after
{
  -webkit-transform: rotate(3deg);
  -moz-transform: rotate(3deg);
  -o-transform: rotate(3deg);
  -ms-transform: rotate(3deg);
  transform: rotate(3deg);
  right: 10px;
  left: auto;
}

Sources here

答案 1 :(得分:1)

这是一个非常全面的CSS3盒子阴影效果列表:

http://nicolasgallagher.com/css-drop-shadows-without-images/demo/

对于您想要的内容 - 提升角落,您需要在之前创建,应用box-shadow使用transform属性以反射角度对他们进行旋转

例如:

/* Standard box-shadow applied to element */
.lifted-corners {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
/* Rotated box-shadow applied to before and after pseudo elements */
.lifted-corners:before,
.lifted-corners:after {
    content: "";
    position: absolute;
    bottom: 15px;
    left: 10px;
    width: 50%;
    height: 20%;
    box-shadow: 0 15px 10px rgba(0, 0, 0, 0.7);
    transform: rotate(-3deg);
}
/* Reflected position and rotation for the pseudo after element */
.lifted-corners:after {
    right: 10px;
    left: auto;
    transform: rotate(3deg);
}

...您当然必须为目标浏览器的box-shadowtransform属性添加前缀。

答案 2 :(得分:0)

正如您在开发者控制台中检查相应元素所看到的,这是一张背景图片:http://literacy2030.org/wp-content/themes/literacy_base_v0.6/img/main_boxes_home.png

如果不在CSS中使用图像(或许你可以,但它确实不值得麻烦),你无法实现这种效果。