如何使用纯css制作扇形图,合并起来形成饼图

html-css018

如何使用纯css制作扇形图,合并起来形成饼图,第1张

使用纯css制作扇形图,合并起来形成饼图:

应该知道css3中引入了圆角属性(border-radius),一旦设置这个值,边框即会出现圆角。同样,我们对正方形设置圆角,即可得到饼状图

html:<div id="circle">11</div>

css:

#circle{

width:0

height:0

border-radius:100px

border-width:100px

border-style:solid

border-color: red blue green yellow

line-height:99em

overflow:hidden

cursor:pointer

margin: 30px auto

}

效果:

4.同样我们对其中三个边框设置透明色即可得到扇形

html:<div id="fan">11</div>

css:

#fan{

width:0

height:0

border-radius:100px

border-width:100px

border-style:solid

border-color:red transparent transparent transparent

line-height:99em

overflow:hidden

cursor:pointer

margin: 30px auto

}

效果:

css3写就不太清楚了,,,有点复杂,,,没做过。。

loading,,,你做个,一直转圈的gif,就可以了,然后js做loading判断就行了,没有读取完成前就显示这个gif,读取完成就读取别的数据。。。。

用html的svg+css3绘制,比js方便!下面是个简单的例子

<?xml version="1.0" standalone="no" ?>

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "

<svg width="400" height="400">

    <path d="M200,200 L200,20 A180,180 0 0,1 377,231 z" style="fill:#ff0000 fill-opacity: 1 stroke:black stroke-width: 1"/>

    <path d="M200,200 L377,231 A180,180 0 0,1 138,369 z" style="fill:#00ff00 fill-opacity: 1 stroke:black stroke-width: 1"/>

    <path d="M200,200 L138,369 A180,180 0 0,1 20,194 z" style="fill:#0000ff fill-opacity: 1 stroke:black stroke-width: 1"/>

    <path d="M200,200 L20,194 A180,180 0 0,1 75,71 z" style="fill:#ff00ff fill-opacity: 1 stroke:black stroke-width: 1"/>

    <path d="M200,200 L75,71 A180,180 0 0,1 200,20 z" style="fill:#ffff00 fill-opacity: 1 stroke:black stroke-width: 1"/>

</svg>