我希望能够用HTML、CSS或jQuery绘制一个类似下图的圆形扇形图,而不需要使用外部图片:
如果这些语言无法实现,也可以使用其他编程语言。
Raphael.js怎么样?
官网上的介绍:
Raphaël是一个小型JavaScript库,可以简化您在web上使用矢量图形的工作。如果您想创建自己特定的图表或图像剪裁和旋转小部件,您可以使用此库轻松实现。
...
Raphaël目前支持Firefox 3.0+、Safari 3.0+、Chrome 5.0+、Opera 9.5+和Internet Explorer 6.0+。
虽然有点晚了,但是如果你可以不支持IE < 9,那么你可以使用纯CSS来实现。
<div id="center">
<div id="tl"></div>
<div id="tr"></div>
<div id="bl"></div>
<div id="br"></div>
</div>
div {
width: 50px;
height: 50px;
background-color: #ccc;
border-radius: 100px;
}
#center {
position: relative;
margin: 100px 0 0 100px;
border: solid #fff 1px;
}
#tl, #tr, #bl, #br {
position: absolute;
height: 75px;
width: 75px;
z-index: -1;
}
#tl {
border-radius: 100px 0 0 0;
top: -50px;
left: -50px;
}
#tr {
border-radius: 0 100px 0 0;
top: -50px;
left: 26px;
}
#bl {
border-radius: 0 0 0 100px;
top: 26px;
left: -50px;
}
#br {
border-radius: 0 0 100px 0;
top: 26px;
left: 26px;
}
点击链接查看代码演示:http://jsfiddle.net/nchtG/
如果你需要支持IE9以下的版本,正如Andrew所提到的,Raphaël是最佳选择。
请参阅CSS Shapes文章以了解更多信息。
显然,只有好的浏览器才支持此功能,但以下是我实现它的方法--
The latest versions of Firefox, Safari, Chrome and Opera all support for HTML5 Canvas but IE8 does not support canvas natively.
You can use ExplorerCanvas to have canvas support through Internet Explorer. You just need to include this javascript as follows:
<!--[if IE]><script src="excanvas.js"></script><![endif]-->
使用HTML画布。
但在IE上无法工作...