如何在CSS中实现等轴测3D效果

5
我正在尝试在CSS中制作等轴测3D图形,目前我的做法如下: http://jsfiddle.net/AagGZ/1/(仅用于测试webkit)。
我的主要方法是使用box-shadow,每个边框都是1像素宽以创建这种3D效果。但是我认为这种方法非常hacky。当进行动画时,我尝试添加新的1像素层,因此动画失败而不太好看。
有没有更好的方法实现这个效果?我想到了使用CSS矩阵以及before和after CSS内容,并添加divs。
这应该是我项目中很好的一个补充功能,不是基本功能,所以不支持IE9以下的浏览器也无妨。
感谢您的帮助。
编辑:我重新打开了这个问题,因为需要具有纯色背景可能会成为一个问题。before和after过滤器会创建大型“隐形”白色箭头,在网站的不同部分具有不同的背景或在悬停其他元素时更改背景时,这会快速变得非常痛苦。 目前我正在返回到我的版本并禁用动画。 欢迎任何想法!
2个回答

5

我不确定如果我们尝试使用边框图片来实现动画是否可行,但是你的解决方案已经比我的方法更加优雅,并且动画能够正常工作,非常感谢! :) - rnaud

2

好的,根据Duopixel使用的before和after过滤器的方法,我做了一些修改,将边框实际上存在于before和after块中,这样就不会出现透明度问题。

: http://jsfiddle.net/BXUdP/65/

我为什么喜欢它:没有透明度问题,在IE8中可以工作。目前只在Firefox 4中可以进行动画,但Chrome存在无法对before和after过滤器进行动画的bug。但是下一个里程碑计划修复这个问题,所以现在它可以优雅地降级。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接