CSS:创建凸起框效果的好方法是什么?

发布于 2024-10-11 08:58:26 字数 61 浏览 8 评论 0原文

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

That is, the left and bottom borders of the element need to give a 3d effect of it popping out. Is there a good, purely-CSS way to accomplish this effect?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

白云不回头 2024-10-18 08:58:26
#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/
是的,这里的效果非常俗气,旨在展示什么是可能的。

#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);
}

Here's the example live: http://jsfiddle.net/sjkXS/1/
Yes, the effect here is cheesily-extreme, indended to showcase what is possible.

阳光的暖冬 2024-10-18 08:58:26

我在试图解决这个问题时也发现了这个问题,我认为您正在寻找的是这样的 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 属性中添加额外的行。

I found this question while trying to figure this out as well, and I think what you're looking for is something like this 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;
}

Thanks to http://sam-morrow.com/playground/css-cubes.py for the help here. I didn't realize you could just keep adding additional lines into the box-shadow property.

眼角的笑意。 2024-10-18 08:58:26

您可以在此基础上制定您的解决方案:

-webkit-box-shadow: 0 0 10px rgb(0,0,0);
-moz-box-shadow: 0 0 10px rgb(0,0,0);

You can base your solution on this:

-webkit-box-shadow: 0 0 10px rgb(0,0,0);
-moz-box-shadow: 0 0 10px rgb(0,0,0);
沙与沫 2024-10-18 08:58:26

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

使用样式 insetoutset

旧 stackoverflow截图

You could use the border-bottom-style and border-right-style, just as StackOverFlow does with the tags.

Use the styles inset and outset.

old stackoverflow screenshot

人生戏 2024-10-18 08:58:26

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

For compatibility with more browsers you might want to simulate the inset/outset stuff by just adding a normal border bottom and right or top and left which is darker than the color of the div, in fact that is what Stackoverflow is using currently for the tags in my browser.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文