使用html和css的批准层次结构流程图

时间:2016-02-24 13:40:18

标签: html css css3

我正在尝试为Approval层次结构创建一个水平流程图。我尝试创建它,但我无法连接盒子的所有右侧端。

在此JS Fiddle中,我尝试将所有A级框连接到B级公共节点。

enter image description here

代码:



*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
body {
  min-width: 1200px;
  margin: 0;
  padding: 50px;
  color: black;
  font: 16px Verdana, sans-serif;
  background: white;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
#wrapper {
  position: relative;
}
.branch {
  position: relative;
  margin-left: 250px;
}
.branch:before {
  content: "";
  width: 50px;
  border-top: 2px solid #000;
  position: absolute;
  left: -100px;
  top: 50%;
  margin-top: 1px;
}
.entry {
  position: relative;
  min-height: 60px;
}
.entry:before {
  content: "";
  height: 100%;
  border-left: 2px solid #000;
  position: absolute;
  left: -50px;
}
.entry:after {
  content: "";
  width: 50px;
  border-top: 2px solid #000;
  position: absolute;
  left: -50px;
  top: 50%;
  margin-top: 1px;
}
.entry:first-child:before {
  width: 10px;
  height: 50%;
  top: 50%;
  margin-top: 2px;
  border-radius: 10px 0 0 0;
}
.entry:first-child:after {
  height: 10px;
  border-radius: 10px 0 0 0;
}
.entry:last-child:before {
  width: 10px;
  height: 50%;
  border-radius: 0 0 0 10px;
}
.entry:last-child:after {
  height: 10px;
  border-top: none;
  border-bottom: 2px solid #000;
  border-radius: 0 0 0 10px;
  margin-top: -9px;
}
.entry.sole:before {
  display: none;
}
.entry.sole:after {
  width: 50px;
  height: 0;
  margin-top: 1px;
  border-radius: 0;
}
.label {
  display: block;
  min-width: 150px;
  padding: 5px 10px;
  line-height: 20px;
  text-align: center;
  border: 2px solid #000;
  border-radius: 5px;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -15px;
}

<div id="wrapper"><span class="label">Main</span>
  <div class="branch lv1">
    <div class="entry"><span class="label">Level-A</span>
    </div>
    <div class="entry"><span class="label">Level-A</span>
    </div>
    <div class="entry"><span class="label">Level-A</span>
      <div class="branch lv2">
        <div class="entry"><span class="label">Level-B</span>

        </div>

        <div class="entry"><span class="label">Level-B</span>
        </div>
      </div>
    </div>
    <div class="entry"><span class="label">Level-A</span>
    </div>
  </div>
</div>
&#13;
&#13;
&#13;

0 个答案:

没有答案