CSS页面剥离底部和左右阴影

时间:2015-05-20 21:21:18

标签: css3 shadow css-shapes

我想用css shadow创建这个页面(见图)。这可能吗?那么要让页面左右移动css框阴影和左右阴影?enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用伪元素:before:after执行此操作。创建两个具有自己的盒子阴影的新区域并将它们放置在需要的位置,可以创建阴影随着页面下降而变大的错觉。



body {
  background: lightgrey;
}
div {
  background: white;
  margin: 40px auto;
  height: 500px;
  width: 300px;
  position: relative;
  padding: 10px;
}
div:before,
div:after {
  height: 97%;
  z-index: -10;
  position: absolute;
  content: "";
  bottom: 15px;
  left: 8px;
  width: 30%;
  top: 2%;
  max-width: 300px;
  background: transparent;
  box-shadow: -10px 0px 5px rgba(0, 0, 0, 0.3);
  transform: rotate(1deg);
}
div:after {
  transform: rotate(-1deg);
  right: 8px;
  left: auto;
  box-shadow: 10px 0px 5px rgba(0, 0, 0, 0.3);
}

<div>
  test
</div>
&#13;
&#13;
&#13;

另一种方法是使用CSS转换来更改单个:before伪元素的透视图。

这是由Harry **

完成的

&#13;
&#13;
body {
  background: lightgrey;
}
div {
  background: white;
  margin: 40px auto;
  height: 500px;
  width: 300px;
  position: relative;
  padding: 10px;
  box-shadow: 10px 0px 5px -10px gray, -10px 0px 5px -10px gray;
}
div:after {
  content: '';
  position: absolute;
  bottom: 10px;
  left: 0px;
  height: 50%;
  width: 100%;
  transform-origin: 50% 100%;
  transform: perspective(100px) rotateX(1deg);
  box-shadow: 5px 0px 10px gray, -5px 0px 10px gray;
  z-index: -1;
}
&#13;
<div></div>
&#13;
&#13;
&#13;