亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

純 CSS 實(shí)現(xiàn)帶連接線的樹形組件(div版)

freeflydom
2025年9月10日 11:59 本文熱度 209

看到XboxYan寫的《純 CSS 實(shí)現(xiàn)帶連接線的樹形組件》,隨手改了個(gè)div版本,這下沒有details和summary的也能用了。

效果一樣: 

 

css:

<style>
    .treeview div.summary{
            outline: 0;
            padding-left: 30px;
            background: repeating-linear-gradient( 90deg, #999 0 1px,transparent 0px 2px) 0px 50%/20px 1px no-repeat;
    }
    .treeview div.details>div.details:last-child{
            background-size: 1px 23px;
    }
    .treeview>div.details:not(:last-child)>div.details:last-child{
            background-size: 1px 100%;
    }
    .treeview div.details{
            padding-left: 38px;
            background: repeating-linear-gradient( #999 0 1px,transparent 0px 2px) 38px 0px/1px 100% no-repeat;
    }
    .treeview div.details>div.details{
            display: none;
            transition: .2s;
    }
    .treeview div.open>div.details{
            display: block;
            transition: .2s;
    }
    .treeview>div.details{
            background: none;
            padding-left: 0;
    }
    .treeview>div.details>div.summary{
            background: none;
            padding-left: 0;
    }
    .treeview>div.details>div.details{
            padding-left: 8px;
            background: repeating-linear-gradient( #999 0 1px,transparent 0px 2px) 8px 0px/1px 100% no-repeat;
    }
    .treeview div.summary{
            display: flex;
            align-items: center;
            height: 46px;
            font-size: 15px;
            line-height: 22px;
            color: rgba(0, 0, 0, 0.85);
            cursor: default;
    }
    .treeview div.summary::after{
            content: '';
            position: absolute;
            left: 10px;
            right: 10px;
            height: 38px;
            background: #EEF2FF;
            border-radius: 8px;
            z-index: -1;
            opacity: 0;
            transition: .2s;
    }
    .treeview div.summary:hover::after{
            opacity: 1;
    }
    .treeview div.summary:not(:only-child)::before{
            content: '';
            width: 14px;
            height: 14px;
            flex-shrink: 0;
            margin-right: 8px;
            border: 1px solid #999;
            background: linear-gradient(#999, #999) 50%/1px 10px no-repeat,linear-gradient(#999, #999)  50%/10px 1px no-repeat;
    }
    .treeview div.open>div.summary::before{
            background: linear-gradient(#999, #999) 50%/10px 1px no-repeat;
    }
</style>

html:

<div class="treeview" id="treeview">
        <div class="details">
                <div class="summary tree-item">項(xiàng)目1</div>
                <div class="details">
                        <div class="summary tree-item">文件夾</div>
                        <div class="details">
                                <div class="summary tree-item">sdd</div>
                        </div>
                </div>
                <div class="details">
                        <div class="summary tree-item">chrome test</div>
                </div>
        </div>
        <div class="details">
                <div class="summary tree-item">項(xiàng)目2</div>
                <div class="details">
                        <div class="summary tree-item">文件夾2-1</div>
                        <div class="details">
                                <div class="summary tree-item">文件夾2-1-1</div>
                                <div class="details">
                                        <div class="summary tree-item">文件夾2-1-1-1</div>
                                        <div class="details">
                                                <div class="summary tree-item">文件夾2-1-1-1-1</div>
                                                <div class="details">
                                                        <div class="summary tree-item">文件夾2-1-1-1-1-1</div>
                                                </div>
                                        </div>
                                </div>
                        </div>
                </div>
        </div>
        <div class="details">
                <div class="summary tree-item">文件夾1</div>
                <div class="details">
                        <div class="summary tree-item">文件夾</div>
                </div>
                <div class="details">
                        <div class="summary tree-item">文件夾2</div>
                </div>
        </div>
        <div class="details">
                <div class="summary tree-item">項(xiàng)目3</div>
                <div class="details">
                        <div class="summary tree-item">文件夾1</div>
                        <div class="details">
                                <div class="summary tree-item">1</div>
                                <div class="details">
                                        <div class="summary tree-item">文件夾2</div>
                                </div>
                        </div>
                </div>
                <div class="details">
                        <div class="summary tree-item">文件夾</div>
                </div>
                <div class="details">
                        <div class="summary tree-item">文件夾</div>
                </div>
                <div class="details">
                        <div class="summary tree-item">文件夾</div>
                </div>
                <div class="details">
                        <div class="summary tree-item">文件夾的副本</div>
                </div>
                <div class="details">
                        <div class="summary tree-item">點(diǎn)點(diǎn)點(diǎn)</div>
                </div>
                <div class="details">
                        <div class="summary tree-item">hewei</div>
                        <div class="details">
                                <div class="summary tree-item">hewei02</div>
                        </div>
                </div>
        </div>
</div>

script:

<script>
        document.addEventListener('DOMContentLoaded', function() {
                document.querySelectorAll('#treeview div.summary').forEach(summary => {
                        summary.addEventListener('click', (e)=>{
                                if (e.currentTarget.nextElementSibling !== null)
                                        e.currentTarget.parentElement.classList.toggle('open');
                        });
                });
        });
</script>

如需兼容更低版本,jQuery版實(shí)現(xiàn)如下(代碼貌似更簡(jiǎn)潔):

<script>
    $(document).ready(function() {
        $('#treeview div.summary').click(function(e) {
            if ($(this).next().length > 0) {
                $(this).parent().toggleClass('open');
            }
        });
    });
</script>

?


該文章在 2025/9/10 12:02:07 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved