【问题标题】:Set the height and width seperatly for a box-shadow?为盒子阴影分别设置高度和宽度?
【发布时间】:2013-09-28 07:34:46
【问题描述】:

我需要创建一个 div 来保存动态数量的内容,在两侧和底部都有一个盒子阴影,顶部没有。我还需要侧面的阴影在 div 的下方略微显眼,并且没有任何阴影相互重叠,从而使特定区域的阴影变暗。
此处示例:
http://jsfiddle.net/EdwardG_Jones/TBfWm/

我尝试了以下方法,该方法可行,但它不会覆盖角落,也不是即时过渡,而是渐变淡入时的渐进过渡:
http://jsfiddle.net/EdwardG_Jones/WC2ja/2/

box-shadow: 12px 5px 5px -10px rgba(50, 50, 50, 0.75),  -12px 5px 5px -10px rgba(50, 50, 50, 0.75), 0    7px 5px -5px rgba(50, 50, 50, 0.75);

我可能最终会使用一个图像作为底部渐变,并以某种方式创建另一个位于顶部阴影顶部的 div 以隐藏它而不隐藏内容。不知道我会怎么做。尤其是在 drupal 中,这意味着手动硬编码 div 更加困难。

【问题讨论】:

    标签: css


    【解决方案1】:

    或者做任何你需要做的让底部、左右边框看起来正确,然后用这个hacky代码隐藏顶部边框:

    div{
        margin: 20px;
        width: 200px;
        height: 400px;
        box-shadow: 0px 0px 5px rgba(50, 50, 50, 0.75)
    }
    div:before{
         content: ""; 
         width: 200px; 
         height: 5px; 
         background: white;  
         position: absolute; 
         margin-top: -6px;
    }
    

    Fiddle.

    然后对使用它感到非常内疚。

    【讨论】:

    • 嗯,我尝试将您的代码放入 Fiddle,但似乎没有用。你能链接一个工作演示吗?您能否解释一下发生了什么/为什么会起作用?
    • 我的错,把粘贴弄乱了,现在修好了。也添加了一个 JSFiddle 链接。它所做的只是在 div 上方放置一个带有纯白色的框(覆盖它),以简单地“隐藏”下方的阴影。这很 hacky,因为它并没有真正解决根本问题,它只是掩盖了错误。但它有效! :P
    • 好吧,如果我想去掉顶部的阴影,这很好,但是:P 我需要两侧的阴影只出现在 div 的下方,而不是顶部。渐变也环绕在 :before 周围,如果你愿意的话,可以创建小“角”。
    • This should help。它基本上在主块后面使用小 div 块,这些块用盒子阴影旋转,使其看起来好像阴影正在褪色/撤回。
    猜你喜欢
    • 1970-01-01
    • 2020-11-08
    • 1970-01-01
    • 1970-01-01
    • 2012-04-05
    • 2019-01-12
    • 2010-10-17
    • 2013-10-22
    • 1970-01-01
    相关资源
    最近更新 更多