只有 CSS 旋转 box-shadow,没有原始元素

问题描述 投票:0回答:3

我有一个小问题,我想为图片创建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);
}
css rotation box-shadow
3个回答
9
投票

仅使用 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);
}

3
投票

你可以使用伪元素来做到这一点(我使用了任意值,你需要自己调整它):

.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>


0
投票

在我的例子中,我已经在使用伪元素::before和::after该元素,我也想要一个旋转阴影......所以我必须用盒子阴影关键帧做一个动画。效果很好。

© www.soinside.com 2019 - 2024. All rights reserved.