html js 扇形统计图_CSS3/JS 显示百分比的饼图

这篇博客介绍了如何使用CSS3和JavaScript来创建一个交互式的扇形统计图,该图可以显示百分比。通过定义不同角度的旋转变换,实现了从0到360度的扇形划分,并通过动画效果增强了视觉体验。
摘要由CSDN通过智能技术生成

CSS

语言:

CSSSCSS

确定

.circle-chart {

cursor: pointer;

float: left;

margin: 10px;

height: 400px;

position: relative;

width: 400px;

}

.circle-chart.small {

height: 200px;

width: 200px;

}

.circle-chart p {

color: #da1d52;

font-family: sans-serif;

font-size: 6em;

font-weight: 600;

line-height: 1em;

margin-top: -0.5em;

position: absolute;

top: 50%;

left: 0;

text-align: center;

width: 100%;

/* Safari, Chrome and Opera > 12.1 */

-webkit-animation: fadein 1.5s;

/* Firefox < 16 */

-moz-animation: fadein 1.5s;

/* Internet Explorer */

-ms-animation: fadein 1.5s;

/* Opera < 12.1 */

-o-animation: fadein 1.5s;

animation: fadein 1.5s;

}

.circle-chart.small p {

font-size: 3.3em;

}

.circle-chart .bar {

height: 80%;

margin: -40% 0 0 -5px;

position: absolute;

left: 50%;

top: 50%;

width: 3%;

}

.circle-chart .bar:after {

background: #da1d52;

border-radius: 10px;

content: "";

height: 15%;

position: absolute;

top: -10%;

left: 0;

width: 100%;

}

.circle-chart.green p {

color: #8cc63f;

}

.circle-chart.green .bar:after {

background: #8cc63f;

}

.circle-chart .bar:nth-child(2) {

-ms-transform: rotate(10deg);

-webkit-transform: rotate(10deg);

transform: rotate(10deg);

}

.circle-chart .bar:nth-child(3) {

-ms-transform: rotate(20deg);

-webkit-transform: rotate(20deg);

transform: rotate(20deg);

}

.circle-chart .bar:nth-child(4) {

-ms-transform: rotate(30deg);

-webkit-transform: rotate(30deg);

transform: rotate(30deg);

}

.circle-chart .bar:nth-child(5) {

-ms-transform: rotate(40deg);

-webkit-transform: rotate(40deg);

transform: rotate(40deg);

}

.circle-chart .bar:nth-child(6) {

-ms-transform: rotate(50deg);

-webkit-transform: rotate(50deg);

transform: rotate(50deg);

}

.circle-chart .bar:nth-child(7) {

-ms-transform: rotate(60deg);

-webkit-transform: rotate(60deg);

transform: rotate(60deg);

}

.circle-chart .bar:nth-child(8) {

-ms-transform: rotate(70deg);

-webkit-transform: rotate(70deg);

transform: rotate(70deg);

}

.circle-chart .bar:nth-child(9) {

-ms-transform: rotate(80deg);

-webkit-transform: rotate(80deg);

transform: rotate(80deg);

}

.circle-chart .bar:nth-child(10) {

-ms-transform: rotate(90deg);

-webkit-transform: rotate(90deg);

transform: rotate(90deg);

}

.circle-chart .bar:nth-child(11) {

-ms-transform: rotate(100deg);

-webkit-transform: rotate(100deg);

transform: rotate(100deg);

}

.circle-chart .bar:nth-child(12) {

-ms-transform: rotate(110deg);

-webkit-transform: rotate(110deg);

transform: rotate(110deg);

}

.circle-chart .bar:nth-child(13) {

-ms-transform: rotate(120deg);

-webkit-transform: rotate(120deg);

transform: rotate(120deg);

}

.circle-chart .bar:nth-child(14) {

-ms-transform: rotate(130deg);

-webkit-transform: rotate(130deg);

transform: rotate(130deg);

}

.circle-chart .bar:nth-child(15) {

-ms-transform: rotate(140deg);

-webkit-transform: rotate(140deg);

transform: rotate(140deg);

}

.circle-chart .bar:nth-child(16) {

-ms-transform: rotate(150deg);

-webkit-transform: rotate(150deg);

transform: rotate(150deg);

}

.circle-chart .bar:nth-child(17) {

-ms-transform: rotate(160deg);

-webkit-transform: rotate(160deg);

transform: rotate(160deg);

}

.circle-chart .bar:nth-child(18) {

-ms-transform: rotate(170deg);

-webkit-transform: rotate(170deg);

transform: rotate(170deg);

}

.circle-chart .bar:nth-child(19) {

-ms-transform: rotate(180deg);

-webkit-transform: rotate(180deg);

transform: rotate(180deg);

}

.circle-chart .bar:nth-child(20) {

-ms-transform: rotate(190deg);

-webkit-transform: rotate(190deg);

transform: rotate(190deg);

}

.circle-chart .bar:nth-child(21) {

-ms-transform: rotate(200deg);

-webkit-transform: rotate(200deg);

transform: rotate(200deg);

}

.circle-chart .bar:nth-child(22) {

-ms-transform: rotate(210deg);

-webkit-transform: rotate(210deg);

transform: rotate(210deg);

}

.circle-chart .bar:nth-child(23) {

-ms-transform: rotate(220deg);

-webkit-transform: rotate(220deg);

transform: rotate(220deg);

}

.circle-chart .bar:nth-child(24) {

-ms-transform: rotate(230deg);

-webkit-transform: rotate(230deg);

transform: rotate(230deg);

}

.circle-chart .bar:nth-child(25) {

-ms-transform: rotate(240deg);

-webkit-transform: rotate(240deg);

transform: rotate(240deg);

}

.circle-chart .bar:nth-child(26) {

-ms-transform: rotate(250deg);

-webkit-transform: rotate(250deg);

transform: rotate(250deg);

}

.circle-chart .bar:nth-child(27) {

-ms-transform: rotate(260deg);

-webkit-transform: rotate(260deg);

transform: rotate(260deg);

}

.circle-chart .bar:nth-child(28) {

-ms-transform: rotate(270deg);

-webkit-transform: rotate(270deg);

transform: rotate(270deg);

}

.circle-chart .bar:nth-child(29) {

-ms-transform: rotate(280deg);

-webkit-transform: rotate(280deg);

transform: rotate(280deg);

}

.circle-chart .bar:nth-child(30) {

-ms-transform: rotate(290deg);

-webkit-transform: rotate(290deg);

transform: rotate(290deg);

}

.circle-chart .bar:nth-child(31) {

-ms-transform: rotate(300deg);

-webkit-transform: rotate(300deg);

transform: rotate(300deg);

}

.circle-chart .bar:nth-child(32) {

-ms-transform: rotate(310deg);

-webkit-transform: rotate(310deg);

transform: rotate(310deg);

}

.circle-chart .bar:nth-child(33) {

-ms-transform: rotate(320deg);

-webkit-transform: rotate(320deg);

transform: rotate(320deg);

}

.circle-chart .bar:nth-child(34) {

-ms-transform: rotate(330deg);

-webkit-transform: rotate(330deg);

transform: rotate(330deg);

}

.circle-chart .bar:nth-child(35) {

-ms-transform: rotate(340deg);

-webkit-transform: rotate(340deg);

transform: rotate(340deg);

}

.circle-chart .bar:nth-child(36) {

-ms-transform: rotate(350deg);

-webkit-transform: rotate(350deg);

transform: rotate(350deg);

}

@keyframes fadein {

/* Firefox < 16 */

from {

opacity: 0;

}

to {

opacity: 1;

}

}

@-moz-keyframes fadein {

/* Safari, Chrome and Opera > 12.1 */

from {

opacity: 0;

}

to {

opacity: 1;

}

}

@-webkit-keyframes fadein {

/* Internet Explorer */

from {

opacity: 0;

}

to {

opacity: 1;

}

}

@-ms-keyframes fadein {

/* Opera < 12.1 */

from {

opacity: 0;

}

to {

opacity: 1;

}

}

@-o-keyframes fadein {

from {

opacity: 0;

}

to {

opacity: 1;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值