最近开发项目需要根据后台数据动态画出流程图,因此了解折磨了一点点D3,官网资料和案例好像比较少说明,经过这些天的挖地三尺地找网上资料,终于折磨出了一点点东西。以下是本人这里的一个小demo,希望对有需要的朋友有帮助吧。(例子有点粗糙,仅是为了有个效果而已,实际中应根据数据来正确规范的显示流程图)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
g.type-current>rect {
fill: #1E9FFF;
}
g.type-success>rect {
fill: green;
}
g.type-fail>rect {
fill: red;
}
text {
font-weight: 300;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serf;
font-size: 14px;
}
.node rect {
stroke: #999;
fill: #fff;
stroke-width: 1.5px;
}
.edgePath path {
stroke: #333;
stroke-width: 1.5px;
}
#tooltip {
position: absolute;
width: 150px;
height: auto;
padding: 5px;
background-color: white;
border: 1px solid #ccc;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
font-style: 12px;
-webkit-box-shadow: 4px 4px 10px rbga(0, 0, 0, 0.4);
-moz-box-shadow: 4px 4px 10px rbga(0, 0, 0, 0.4);
box-shadow: 4px 4px 10px rbga(0, 0, 0, 0.4);
pointer-events: none;
}
#tooltip.hidden {
display: none;
}
#tooltip p {
margin: 0;
font-family: sans-serif;
font-size: 16px;
line-height: 20px;
}
</style>
</he