css 饼图 - 与SVG
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了css 饼图 - 与SVG相关的知识,希望对你有一定的参考价值。
{"view":"split-vertical","fontsize":"100","seethrough":"","prefixfree":"1","page":"css"}
function $$(selector, context) {
context = context || document;
var elements = context.querySelectorAll(selector);
return Array.prototype.slice.call(elements);
}
$$('.pie').forEach(function(pie) {
var p = parseFloat(pie.textContent);
var NS = "http://www.w3.org/2000/svg";
var svg = document.createElementNS(NS, "svg");
var circle = document.createElementNS(NS, "circle");
var title = document.createElementNS(NS, "title");
circle.setAttribute("r", 16);
circle.setAttribute("cx", 16);
circle.setAttribute("cy", 16);
circle.setAttribute("stroke-dasharray", p + " 100");
svg.setAttribute("viewBox", "0 0 32 32");
title.textContent = pie.textContent;
pie.textContent = '';
svg.appendChild(title);
svg.appendChild(circle);
pie.appendChild(svg);
});
<div class="pie">20%</div>
<div class="pie">60%</div>
<div class="pie animated">0%</div>
/**
* Pie charts — with SVG
*/
.pie {
width: 100px;
height: 100px;
display: inline-block;
margin: 10px;
transform: rotate(-90deg);
}
svg {
background: yellowgreen;
border-radius: 50%;
}
circle {
fill: yellowgreen;
stroke: #655;
stroke-width: 32;
}
@keyframes grow { to { stroke-dasharray: 100 100 } }
.pie.animated circle {
animation: grow 2s infinite linear;
}
以上是关于css 饼图 - 与SVG的主要内容,如果未能解决你的问题,请参考以下文章
即使 Web 浏览器控制台中没有错误,d3 js 饼图也没有显示。和 SVG 正在追加
Raphael JS 的径向饼图菜单
渐进式<;svg>;饼图、甜甜圈图、条形图和折线图
CSS 样式转换与 svg 转换
前端如何实现立体饼图,柱状图,像下面这种?
GPU 加速 CSS 动画与 SVG 原生动画