1

我有一个小问题,我想为图片创建 45 度阴影。但是,如果我使用我的代码,我的对象也会旋转。所以我想就这个问题寻求帮助。

我的代码:

.item {
    box-shadow: -50px 80px 4px 10px #555;
    -webkit-transform: rotate(10deg);
    -moz-transform: rotate(10deg);
    -o-transform: rotate(10deg);
    -ms-transform: rotate(10deg);
    transform: rotate(10deg);
}
4

2 回答 2

6

仅使用 CSS 的最灵活的答案可能是这样的:

.item {
    position: relative; /* or absolute */
}

.item:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: transparent;

    box-shadow: -50px 80px 4px 10px #555;
    -webkit-transform: rotate(10deg);
    -moz-transform: rotate(10deg);
    -o-transform: rotate(10deg);
    -ms-transform: rotate(10deg);
    transform: rotate(10deg);
}
于 2015-08-11T13:18:15.990 回答
1

您可以使用 peudo-element 来做到这一点(我使用了任意值,您需要自己调整):

.item {
  margin-left: 50%;
  position: relative;
  width: 100px;
  height: 100px;
  background-color: red;
}
.item:before {
  z-index: -1;
  position: absolute;
  content: "";
  display: block;
  width: 100px;
  height: 100px;
  top: -30px;
  left: 0;
  background-color: transparent;
  box-shadow: -50px 120px 4px 10px #555;
  -webkit-transform: rotate(10deg);
  -moz-transform: rotate(10deg);
  -o-transform: rotate(10deg);
  -ms-transform: rotate(10deg);
  transform: rotate(10deg);
}
<div class="item"></div>

于 2015-08-11T12:11:55.037 回答