shadow默认值 仅限顶部,左侧和右侧的CSS3 Box Shadow




html boxshadow (8)

#div:before {
 content:"";
 position:absolute;
 width:100%;
 background:#fff;
 height:38px;
 top:1px;
 right:-5px;
}

问候,

我试图将CSS3框阴影仅应用于DIV的顶部,右侧和左侧,其半径与以下CSS的结果相匹配(减去底部阴影)

 #div {
    -webkit-box-shadow: 0px 0px 10px #000;
    -moz-box-shadow: 0px 0px 10px #000;
    box-shadow: 0px 0px 10px #000;
}

实现这一目标的最佳方法是什么?

谢谢!

更新此阴影将应用于页面上的导航栏,该栏位于主容器DIV的顶部。 我想要完成的是将主DIV的盒子阴影继续放在位于其上方的导航栏上,但导航栏上没有底部阴影。 看一下网站本身 ,看看我在说什么,比在这里添加所有的HTML和CSS更容易。

更新2由于我正在使用的DIV是单数,而不是试图在每个导航上设置阴影,我选择将其更改为以下内容:

-webkit-box-shadow: 0px -4px 7px #e6e6e6;
    -moz-box-shadow: 0px -4px 7px #e6e6e6;
    box-shadow: 0px -4px 7px #e6e6e6;

这使得阴影的顶部非常明显,但这正是我想要完成的 - 如果有人知道一种方法来保持阴影在容器DIV的外观上相同,请告诉我。 谢谢!


添加单独的答案,因为它完全不同。

您可以使用rgba并将alpha通道设置为低(以获得透明度),以使您的投影不太明显。

尝试这样的事情(玩.5)

-webkit-box-shadow: 0px -4px 7px rbga(230, 230, 230, .5);
-moz-box-shadow: 0px -4px 7px rbga(230, 230, 230, .5);
box-shadow: 0px -4px 7px rbga(230, 230, 230, .5);

希望这可以帮助!


我找到了用“:after”覆盖阴影的方法,这是我的代码:

#div:after {
    content:"";
    position:absolute;
    width:5px;
    background:#fff;
    height:38px;
    top:1px;
    right:-5px;
}

使用价差......

box-shadow具有以下值

box-shadow: x y blur spread color;

所以你可以用...

box-shadow: 0px -10px 10px -10px black;

更新:我正在添加一个jsfiddle


您可以为box-shadow属性提供多个值
例如

-moz-box-shadow: 0px 10px 12px 0px #000,
                    0px -10px 12px 0px #000;
-webkit-box-shadow: 0px 10px 12px 0px #000,
                    0px -10px 12px 0px #000;
box-shadow: 0px 10px 12px 0px #000,
            0px -10px 12px 0px #000;

它只是向左向右投影,你可以根据你的要求进行调整


我知道这是非常古老的,但这些答案都没有帮助我,所以我正在添加我的答案。 这与@ yichengliu的答案一样,使用了Pseudo ::after元素。

#div {
    position: relative;
}



#div::after {
    content: '';
    position: absolute;
    right: 0;
    width: 1px;
    height: 100%;
    z-index: -1;

    -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,1);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,1);
    box-shadow: 0px 0px 5px 0px rgba(0,0,0,1);
}

/*or*/

.filter.right::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 1px;
    height: 100%;
    background: white;
    z-index: -1;

    -webkit-filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 1));
    filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 1));
}

Fiddle

如果您决定更改阴影的X( drop-shadow或阴影的第一个像素测量),更改宽度将有助于使看起来不像div和阴影之间存在白色间隙。

如果您决定更改阴影的Y( drop-shadow或阴影的第二个像素测量),更改高度将有助于出于与上述相同的原因。


以下代码为我制作了右侧的阴影插图:

-moz-box-shadow: inset -10px 0px 10px -10px #000;
-webkit-box-shadow: inset -10px 0px 10px -10px #000;
box-shadow: inset -10px 0px 10px -10px #000;

希望它会有所帮助!!!!


如果你只用另一个div覆盖底部部分会更好,你会得到一致的阴影。

#servicesContainer {
  /*your css*/
  position: relative;
}

它已经修复了! 喜欢魔法!







css3