我正在尝试制作一个轮子,它将被切成不同颜色的部分(有点像饼图),但是它们可能在它们上面有额外的元素,例如,边框边缘的缝合边框和每个边缘的图标等
所以我的问题是我只使用css3(示例:http://www.css3shapes.com/) 然后使用类似http://css3pie.com/的内容来访问Internet Explorer 6-9?
或者我最好在Photoshop中做它并将它作为背景图像拍到div上?并使用绝对定位来获得额外的元素?
哪种做法最好?
答案 0 :(得分:2)
我会(并且确实)使用PHP的GD扩展来创建基于输入数据的饼图,保存由此生成的图像,并可选地生成图像图,以便突出显示图表的某些部分,具有工具提示等。 / p>
答案 1 :(得分:1)
我真的不会用CSS来绘制形状。它充其量只是hacky,并且可能变得非常混乱。您链接到的cssshapes网站中的相当一些示例甚至不能在Firefox 3.6中使用 - 这仍然使用得非常多 - 更不用说其他旧版浏览器了,而在IE中你真的很难挣扎; css3pie不会给你一个饼图所需的细粒度控制。
如果你想在客户端使用浏览器绘制内容,可以采用多种方法来解决CSS形状等问题。
SVG和Canvas都是在浏览器上放置和操作图形的相对新技术。 SVG绘制矢量图形,Canvas用于基于像素的图形。
它们都受到各种浏览器的支持。 IE8及更早版本是一个明显的例外。但是,IE确实支持一种名为VML的替代图形格式,并且有IE的javascript工具允许它将SVG和Canvas转换为VML,因此您可以使用它们中的任何一种,并且它们将使用这些工具在IE中工作,这使得SVG和Canvas都有效地跨浏览器兼容。
但如果您正在绘制饼图或类似的事物,我的个人建议是使用Raphael库。这是一个适用于所有浏览器的javascript库,可用于绘制和动画几乎所有内容,包括图形和图表(甚至还有separate graphing add-on library。请参阅这两个网站上的演示,了解它的功能我认为你会留下深刻印象。(我当然是)
希望有所帮助。