如何仅为box-shadow隐藏溢出

时间:2014-02-10 19:39:04

标签: html css3

我有一个图像(高度:500像素),它有一个盒子阴影,它放在一个绿色框div(高度:350px)上。 150px的图像与底部的greenbox div重叠。

如何在离开绿色div后关闭图像的盒子阴影?

除以下代码外,还有screenshot link

CSS片段:

.wrapper {
  position:relative;
}
.wrapper .greenbox {
  position: absolute;
  top:0;
  height: 0;
  width: 100%;
  padding-top: 350px;
  background-color: #39a943;
  z-index:-999;
}
.wrapper img{
  box-shadow: 0 0 15px 2px #000;
  width:300px;
  height:500px;
}

HTML片段:

<div class="wrapper">
  <div class="greenbox"></div>
  <img src="image.png" alt="example" />
</div>

2 个答案:

答案 0 :(得分:1)

在伪元素上设置阴影,并剪切

.test {
    position: absolute;
    left: 100px;
    top: 100px;
    width: 200px;
    height: 200px;
    background-color: lightblue;
}

.test:after {
    content: "";
    position: absolute;
    left: 0px;
    top: 0px;
    bottom: 0px; 
    right: 0px;
    box-shadow: 0px -10px 20px 10px black;
    clip: rect(-100px, 1000px, 100px, -100px);
}

fiddle

答案 1 :(得分:0)

any-css-style-name-for-at-least-30-characters-post {
    box-shadow: none;
}