【问题标题】:How to make CSS triangles (with borders) compatible across browsers如何使 CSS 三角形(带边框)跨浏览器兼容
【发布时间】:2012-05-23 20:21:32
【问题描述】:

我能够创建一个简洁的流程图,如下所示:http://jsfiddle.net/R8Gx3/3/

但是,主要浏览器(Chrome、Firefox、IE)的呈现并不一致。

对于如何以更可靠的方式实现同​​样的效果有什么想法吗?

显然我可以使用图像,但我更喜欢 CSS,因为在 CSS 中编辑颜色更容易(而不是创建新图像)。

我不能只使用三角形字符,因为元素后面有纹理背景,所以我需要透明度。

【问题讨论】:

    标签: css cross-browser flowchart


    【解决方案1】:

    我认为放置 UTF-8 三角形(一端两个,另一端)会更好,而不是依赖于边界黑客。

    http://www.fileformat.info/info/unicode/char/25bc/browsertest.htm

    http://en.wikipedia.org/wiki/Geometric_Shapes

    【讨论】:

    • 更新了演示链接并添加了关于我需要透明度的说明。
    • 没有什么能阻止你在这些字符上使用不透明度。
    【解决方案2】:

    对于现代浏览器,您可以使用 CSS 转换(对于 9 及以上版本的 IE

    所以你制作一个带有上/右边框的框并将其旋转 45 度。

    通过这种方式,您可以简化 html,只需使用带有 :after:before 的箭头(每个都是提示之一

    http://jsfiddle.net/gaby/FJEFP/1/的演示

    【讨论】:

    • 我会给你“最好的答案”,因为你做了很好的努力,即使这仍然没有达到我想要做的。 (看看它的背景看起来很时髦吗?jsfiddle.net/FJEFP/2
    • @Ryan,您可以更改div.left:before 的背景颜色,但是是的.. 它不是真正透明的.. jsfiddle.net/gaby/FJEFP/3
    • 无论如何我都印象深刻。感谢您的帮助!
    猜你喜欢
    • 2015-03-07
    • 1970-01-01
    • 2015-07-30
    • 1970-01-01
    • 2012-01-11
    • 1970-01-01
    • 1970-01-01
    • 2013-11-12
    • 2014-02-21
    相关资源
    最近更新 更多