css 框影被截断

8fsztsew  于 2022-12-01  发布在  其他
关注(0)|答案(7)|浏览(388)

在使用CSS3的box-shadow时,我遇到了一个通常不会遇到的问题。
方块阴影通常只会在div边缘上出血,但不会在这个边缘上出血。
box-shadow在顶部和右手边被切断。
下面是我用于框阴影的css:

-moz-box-shadow: 0 0 5px #555;
-webkit-box-shadow: 0 0 5px #555;
 box-shadow: 0 0 5px #555;

干杯

mpgws1up

mpgws1up1#

问题是你的center-main div裁剪掉了阴影的边缘。设置overflow:visible,你应该能看到它。

js5cn81o

js5cn81o2#

如果box-shadow被截断,请确保overflow:visible设置在包含元素的任何div上。

aamkag61

aamkag613#

使用填充+负边距,如:

.img {
  padding: 10px;
  margin: -10px;
}
whhtz7ly

whhtz7ly4#

我在使用IE时多次遇到这个问题,我发现最好的解决方案是在div周围使用透明的轮廓。这似乎可以防止IE剪切框阴影,即使在Gecko和Webkit没有的情况下也是如此。使用轮廓来解决这个问题的一个好处是它不会影响div的位置。
例如,我有一个div,我使用了position:绝对底部:-30px将其放置在相对于父div的某个位置。IE,也只有IE,将框阴影的顶部和底部切掉。添加此轮廓将其固定,而不会改变位置。

outline: 10px solid transparent;
rkttyhzu

rkttyhzu5#

您可以设置此样式img标记,以便正确显示阴影框

.img{
  margin:20px;
 -moz-box-shadow: 0 0 5px #555;
  -webkit-box-shadow: 0 0 5px #555;
  box-shadow: 0 0 5px #555;
 }
zpgglvta

zpgglvta6#

您可以使用

.img{
    filter: drop-shadow(0 0 5px #555);
}

取而代之

ao218c7q

ao218c7q7#

我设法解决了我的本地项目上的相同问题,方法是将图像设置为具有以下css属性:

position: relative;

相关问题