Tree View Pure CSS

Example Tree View Pure CSS

by Adi Jaya

HTML

<ul>
    <li class="root"><span class="folder">Root</span></li>
    <li><span class="folder">Admin</span>
        <ul>
            <li class='active'>index.php</li>
            <li>post.php</li>
            <li>login.php</li>
            <li>logout.php</li>
        </ul>
    </li>
    <li><span class="folder">non-admin</span>
       <ul>
        <li>style.css</li>
        <li class='active'>index.php</li>
        <li>single.php</li>
         <li>page.php</li>
      </ul>
    </li>
    <li>config.php</li>
    <li class='active'>index.php</li>
    <li>loader.php</li>
</ul>

CSS

body {
    margin: 0;
    padding: 20px;
    background: black;
    color: #fff;
    font-size: 12px;
}

ul {
    margin: 0;
    list-style: none;
    line-height: 1.3em;
    font-family: sans-serif;
}

ul li {
    position: relative;
}

ul li::before {
    position: absolute;
    left: -15px;
    top: 0px;
    content: '';
    display: block;
    border-left: 1px solid #6b6b6b;
    height: 1em;
    border-bottom: 1px solid #6b6b6b;
    width: 10px;
}

ul li::after {
    position: absolute;
    left: -15px;
    bottom: -7px;
    content: '';
    display: block;
    border-left: 1px solid #6b6b6b;
    height: 100%;
}

ul li.root {
    margin: 0px 0px 0px -20px;
}

ul li.root::before {
    display: none;
}

ul li.root::after {
    display: none;
}

ul li:last-child::after {
    display: none;
}

.folder {
    display: inline-block;
    background: #c5c5c5;
    color: black;
    margin-bottom: 4px;
    padding: 1px 4px;
    line-height: 1;
    vertical-align: middle;
    border-radius: 2px;
    position: relative;
    margin-left: -5px;
    margin-top: 5px;
}

.active {
  color: yellow;
}