简体   繁体   English

使嵌套的div看起来像CSS中的列

[英]Make nested divs look like columns in css

I have nested divs representing tree of life data, for example 例如,我嵌套了代表生命树数据的div。

<div>
    Hominidae
    <div>
        Pan
        <div>
            Chimpanzee
        </div>
        <div>
            Bonobo
        </div>
    </div>
    <div>
        Homo
        <div>
            Sapiens
        </div>
    </div>
</div>

I would like to make this look like a tree in columns ie. 我想使它看起来像一列树,即。

Hominidae    Pan    Chimpanzee
                    Bonobo
             Homo   Sapiens

I envisioned several solutions, in particular, three real columns and a grid, but I have a feeling just a little bit of CSS would make this solution the more efficient, if only I were more competent in CSS. 我预想了几种解决方案,特别是三个真实的列和一个网格,但是我觉得只有一点点CSS才能使该解决方案更加有效,如果我能胜任CSS的话。 The other solutions each had the drawback of adding way more JS logic. 其他每个解决方案都具有添加更多JS逻辑的缺点。

 div{ width: 400px; background: #bbb; } div div{ width: 60%; float: right; background: rgba(255, 0, 0, .3); } 
 <div> Hominidae <div>Pan <div>Chimpanzee</div> <div>Bonobo</div> </div> <div>Homo <div>Sapiens</div> </div> </div> 

You can use CSS grid for this 您可以为此使用CSS grid

 div { display: grid; grid-template-columns: repeat(2, 1fr); } div>div { grid-column: 2; } 
 <div> Hominidae <div> Pan <div> Chimpanzee </div> <div> Bonobo </div> </div> <div> Homo <div> Sapiens </div> </div> </div> 

 .container1 { float:right; width: 100% } .container2 { float:right; width: 60% } .container3 { float:right; width: 50% } 
 <div class ="container1"> Hominidae <div class ="container2"> Pan <div class ="container3"> Chimpanzee </div> <div class ="container3"> Bonobo </div> </div> <div class ="container2"> Homo <div class ="container3"> Sapiens </div> </div> </div> 

 div { display:flex; } div div{ width:100px; display:inline-block; } 
 <div> <div>Hominidae</div> <div> <div>Pan</div> <div></div> <div>Homo</div> </div> <div> <div>Chimpanzee</div> <div>Bonobo</div> <div>Sapiens</div> </div> </div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM