【问题标题】:Box shadow on top, bottom and left only仅在顶部、底部和左侧的框阴影
【发布时间】:2016-06-06 03:47:23
【问题描述】:

我只想将盒子阴影添加到顶部、底部和左侧 - 没有右侧。

这是我的 CSS 类:

.topBottomLeft{
      box-shadow: inset -1px 0px 0.5px 0.5px #000,inset 0 1px 0.5px 0.5px #000,inset 0 -1px 0.5px 0.5px #000 !important;
}

这是我的 jsfiddle:https://jsfiddle.net/Ly4tocny/

它正在将盒子阴影应用到所有四个侧面。我错过了什么?

【问题讨论】:

  • 该属性实际上不是那样工作的。
  • 最好使用伪元素将嵌入阴影(具有扩展半径)仅添加到三个边。

标签: css box-shadow


【解决方案1】:

您已接近解决方案。您只需要稍微调整一下值。

这是一个适用于您的方法的示例,并添加了一些重点,以便您可以看到我所做的更改。

    box-shadow: inset 0 5px 0.5px 0.5px #000,
    inset 0 -5px 0.5px 0.5px #000,
    inset  5px 0.5px 0.5px #000;

https://jsfiddle.net/ercnvzj7/

我推荐这个,用于将来的阴影:http://css3generator.com/

【讨论】:

    【解决方案2】:

    第一个插入值应该是 1 而不是 -1。

    .topBottomLeft {
        box-shadow: inset 1px 0px 0.5px 0.5px #000,inset 0 1px 0.5px 0.5px #000,inset 0 -1px 0.5px 0.5px #000;
    }
    

    【讨论】:

    • 右侧仍然会有一个小阴影(至少在 Chrome 上)。
    • 玩负值,例如'inset 4px 0 0.5px -2px #000'。
    • 但是厚度将与 OP 的预期不同。我将把它留给 OP 来决定:)
    • OP 使用 1px 厚度。如果是这样,我会改用border: 1px solid #000; border-width: 1px 0 1px 1px; box-sizing: border-box;
    • 我无意跟踪你,所以不要误会我的意思。您确实意识到 1px 边框和 0.5px 散布半径的 1px 阴影之间的区别吧?它们不一样:)
    猜你喜欢
    • 2011-06-22
    • 2011-10-04
    • 2011-11-24
    • 2016-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多