【问题标题】:Creating organizational chart structure using CSS and JQuery使用 CSS 和 JQuery 创建组织结构图结构
【发布时间】:2015-04-09 01:36:42
【问题描述】:

我正在查看堆栈论坛 Trees in Twitter Bootstrap,看到你可以通过 CSS 实现什么真的很有趣。由于链接中提到的示例是垂直流,是否可以达到与水平流相同的效果。 例如

作为参考,我添加了 JS Fiddle 链接: http://jsfiddle.net/Fh47n/

<div class="tree">
<ul>
    <li>    <a href="#">Parent</a>

        <ul>
            <li>    <a href="#">Child</a>

                <ul>
                    <li>    <a href="#">Grand Child</a>

                    </li>
                </ul>
            </li>
            <li>    <a href="#">Child</a>

                <ul>
                    <li><a href="#">Grand Child</a>
                    </li>
                    <li>    <a href="#">Grand Child</a>

                        <ul>
                            <li>    <a href="#">Great Grand Child</a>

                            </li>
                            <li>    <a href="#">Great Grand Child</a>

                            </li>
                            <li>    <a href="#">Great Grand Child</a>

                            </li>
                        </ul>
                    </li>
                    <li><a href="#">Grand Child</a>
                    </li>
                </ul>
            </li>
        </ul>
    </li>
</ul>

<style type="text/css">
        .tree li {
        margin: 0px 0;
        list-style-type: none;
        position: relative;
        padding: 20px 5px 0px 5px;
    }
    .tree li::before {
        content:'';
        position: absolute;
        top: 0;
        width: 1px;
        height: 100%;
        right: auto;
        left: -20px;
        border-left: 1px solid #ccc;
        bottom: 50px;
    }
    .tree li::after {
        content:'';
        position: absolute;
        top: 30px;
        width: 25px;
        height: 20px;
        right: auto;
        left: -20px;
        border-top: 1px solid #ccc;
    }
    .tree li a {
        display: inline-block;
        border: 1px solid #ccc;
        padding: 5px 10px;
        text-decoration: none;
        color: #666;
        font-family: arial, verdana, tahoma;
        font-size: 11px;
        border-radius: 5px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
    }
    /*Remove connectors before root*/
     .tree > ul > li::before, .tree > ul > li::after {
        border: 0;
    }
    /*Remove connectors after last child*/
     .tree li:last-child::before {
        height: 30px;
    }
    /*Time for some hover effects*/

    /*We will apply the hover effect the the lineage of the element also*/
     .tree li a:hover, .tree li a:hover+ul li a {
        background: #c8e4f8;
        color: #000;
        border: 1px solid #94a0b4;
    }
    /*Connector styles on hover*/
     .tree li a:hover+ul li::after, .tree li a:hover+ul li::before, .tree li a:hover+ul::before, .tree li a:hover+ul ul::before {
        border-color: #94a0b4;
    }
</style>

我知道谷歌图表https://developers.google.com/chart/interactive/docs/gallery/orgchart?csw=1,但我不想使用这个,因为我的要求非常具体,可能不可行。

有大神可以帮忙吗?

【问题讨论】:

标签: jquery html css asp.net-mvc-4


【解决方案1】:

这是我基于OrgChart 的解决方案。希望对你有帮助。

$(function() {

  var oc = $('#chart-container').orgchart({
    'data' : $('#ul-data')
  });
  
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/orgchart/2.1.9/js/jquery.orgchart.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link href="https://cdnjs.cloudflare.com/ajax/libs/orgchart/2.1.9/css/jquery.orgchart.min.css" rel="stylesheet"/>

<ul id="ul-data">
  <li><a href="#">Parent</a>
    <ul>
      <li><a href="#">Child</a>
        <ul>
          <li><a href="#">Grand Child</a></li>
        </ul>
      </li>
      <li><a href="#">Child</a>
        <ul>
          <li><a href="#">Grand Child</a></li>
          <li><a href="#">Grand Child</a>
            <ul>
              <li><a href="#">Great Grand Child</a></li>
              <li><a href="#">Great Grand Child</a></li>
              <li><a href="#">Great Grand Child</a></li>
            </ul>
          </li>
          <li><a href="#">Grand Child</a></li>
        </ul>
      </li>
    </ul>
  </li>
</ul>
<div id="chart-container"></div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-11
    • 1970-01-01
    • 2016-06-15
    相关资源
    最近更新 更多