Skip to content

Instantly share code, notes, and snippets.

@dylancwood
Last active April 29, 2024 15:48
Show Gist options
  • Star 62 You must be signed in to star a gist
  • Fork 8 You must be signed in to fork a gist
  • Save dylancwood/7368914 to your computer and use it in GitHub Desktop.
Save dylancwood/7368914 to your computer and use it in GitHub Desktop.
CSS to create a simple tree structure with connecting lines. No images or JS required.
ul.tree, ul.tree ul {
list-style: none;
margin: 0;
padding: 0;
}
ul.tree ul {
margin-left: 10px;
}
ul.tree li {
margin: 0;
padding: 0 7px;
line-height: 20px;
color: #369;
font-weight: bold;
border-left:1px solid rgb(100,100,100);
}
ul.tree li:last-child {
border-left:none;
}
ul.tree li:before {
position:relative;
top:-0.3em;
height:1em;
width:12px;
color:white;
border-bottom:1px solid rgb(100,100,100);
content:"";
display:inline-block;
left:-7px;
}
ul.tree li:last-child:before {
border-left:1px solid rgb(100,100,100);
}
<ul class="tree">
<li>Animals
<ul>
<li>Birds</li>
<li>Mammals
<ul>
<li>Elephant</li>
<li class="last">Mouse</li>
</ul>
</li>
<li class="last">Reptiles</li>
</ul>
</li>
<li class="last">Plants
<ul>
<li>Flowers
<ul>
<li>Rose</li>
<li class="last">Tulip</li>
</ul>
</li>
<li class="last">Trees</li>
</ul>
</li>
</ul>
@SayanShankhari
Copy link

Thank You for the awesome Codes.

@RenateUSB
Copy link

Simplified a bit, geometry adjusted, font size independent and works with a root node.
https://jsfiddle.net/1fynun7a/1591/
(The body font-size is only so you can play with it and see that it scales properly.)
(You could make dotted by changing "solid" to "dotted" but piecemeal dotted borders often run into sync problems.)

@cabolet
Copy link

cabolet commented Jan 6, 2020

Hi, how can I return the selected item of the css tree to use as input to a database (I need to know only how to retrieve 1 item)

@tkafka
Copy link

tkafka commented May 20, 2020

Took @RenateUSB solution and made it work with multiline items: https://jsfiddle.net/tomaskafka/ur1hvzy3/

@javansolo
Copy link

right to left (rtl):
دوستان فارسی زبان سی اس اس راست چین برای نمایش درختی
https://jsfiddle.net/ykp2com3/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment