JSFiddle - React, Tailwind, and code Playground
HTML
<div class="tree" style="width:256px; height:256px;">
<div>
<ul>
<li>
<div><span>Lorem ipsum</span>
</div>
</li>
<li>
<div><span>Lorem ipsum</span>
</div>
</li>
<li class="expanded">
<div> <span>Lorem ipsum</span>
</div>
<ul>
<li>
<div> <span>Lorem ipsum dolor sit amet, consectetur adipisicing elit</span>
</div>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
CSS
.tree {
position:relative;
display: block;
overflow: auto;
border: 1px solid #8B9097;
background-color: #fff;
margin-left:200px;
/*! margin-left: just for testing */
}
.tree > div {
display:block;
position:absolute;
min-width:100%;
}
.tree * {
white-space: nowrap;
}
.tree ul {
margin:0;
list-style-type: none;
padding-left: 20px;
}
.tree li > div {
position:relative;
margin-left:-100000px;
padding-left:100000px;
border: 1px solid transparent;
display:block;
}
.tree li div:hover {
background-color: #B6BABF;
color: #fff;
}
.tree li.collapsed > ul {
display:none;
}
.tree li.expanded > ul {
display:inherit;
}