如何将相同的border-radius添加到元素的元素和box-shadow

时间:2017-06-29 15:11:21

标签: css3

我有一个元素,我在其上添加两个框阴影,我希望元素的角和框阴影具有相同的边界半径。不知何故,它没有发生。 元素的边框半径与第一个框阴影的边界半径不同,第一个框阴影的边框半径与第二个框阴影的边框半径不同。

以下是代码:

.stack_item{
  overflow: hidden;
  border-radius: 10px 10px 10px 10px;
  -moz-border-radius: 10px 10px 10px 10px;
  -webkit-border-radius: 10px 10px 10px 10px;
  transform: translate(-50%, 9%);
  -webkit-box-shadow: 0px -15px 0px -7px rgb(206, 204, 204), 0px -29px 0px -13px rgb(168, 168, 168);
  -moz-box-shadow: 0px -15px 0px -7px rgb(206, 204, 204), 0px -29px 0px -13px rgb(168, 168, 168);
  box-shadow: 0px -15px 0px -7px rgb(206, 204, 204), 0px -29px 0px -13px rgb(168, 168, 168);
}

1 个答案:

答案 0 :(得分:0)

由于你使阴影缩小,边界半径也在缩小。

将它设置在一个更大的伪元素上,它就可以了



.stack_item{
  width: 200px;
  height: 100px;
  position: relative;
  border: solid 1px black;
  border-radius: 10px 10px 10px 10px;
  margin-top: 50px;
  background-color: white;
}

.stack_item:before,
.stack_item:after {
    content: "";
    position: absolute;
    top: 0px;
    bottom: 50px;
    border-radius: inherit;
}

.stack_item:before {
    left: 7px;
    right: 7px;
    box-shadow: 0px -8px 0px 0px rgb(206, 204, 204);
    z-index: -1;
}
.stack_item:after {
    left: 13px;
    right: 13px;
    box-shadow:  0px -16px 0px 0px rgb(168, 168, 168);
    z-index: -2;
}

<div class="stack_item"></div>
&#13;
&#13;
&#13;