15

也就是说,元素的左边框和下边框需要给出弹出的 3d 效果。有没有一种好的、纯 CSS 的方式来实现这个效果?

4

5 回答 5

19
#foo {
    /* ... */
    border:8px outset #999;
    -webkit-box-shadow: 5px 5px 15px rgba(0,0,0,0.4);
    -moz-box-shadow: 5px 5px 15px rgba(0,0,0,0.4);
}

这是现场示例:http: //jsfiddle.net/sjkXS/1/
是的,这里的效果是cheesily-extreme,旨​​在展示什么是可能的。

于 2011-01-06T21:53:31.450 回答
16

我在试图解决这个问题时也发现了这个问题,我认为你正在寻找的是类似http://jsfiddle.net/9Lt2477w/的东西。

.raisedbox { 
    padding: 10px;
    border: 1px solid #77aaff;
    box-shadow:  -1px 1px #77aaff,
         -2px 2px #77aaff,
         -3px 3px #77aaff,
         -4px 4px #77aaff,
         -5px 5px #77aaff;
}

感谢http://sam-morrow.com/playground/css-cubes.py在这里的帮助。我没有意识到你可以继续在 box-shadow 属性中添加额外的行。

于 2015-04-15T22:00:49.167 回答
8

您可以基于以下解决方案:

-webkit-box-shadow: 0 0 10px rgb(0,0,0);
-moz-box-shadow: 0 0 10px rgb(0,0,0);
于 2011-01-06T21:49:53.107 回答
4

您可以使用border-bottom-styleand border-right-style,就像 StackOverFlow 使用标签一样。

使用样式insetoutset.

旧的stackoverflow截图

于 2011-01-06T21:52:57.727 回答
1

为了与更多浏览器兼容,您可能希望通过添加比 div 的颜色更暗的正常边框底部和右侧或顶部和左侧来模拟插入/开始的东西,实际上这就是 Stackoverflow 当前用于标签的内容在我的浏览器中。

于 2014-10-09T09:46:34.227 回答