【问题标题】:CSS - List tree background issueCSS - 列表树背景问题
【发布时间】:2025-12-24 01:30:16
【问题描述】:

我有一个包含多个部分的列表。我试着让它看起来像一种树。它开始得很好,但我无法解决最后的问题。

代码位于:

http://jsfiddle.net/Kwfpm/

它应该是这样工作的

  • 第一个“Datorer”、“Mjukvara”和 “微软”应该连接到 有水平线的树。
  • 左下角的“Mjukvara”应该 连接到“类别”。

有一些重复的问题,但如果解决了上述两个问题,这些问题应该会解决。

这是一个链接(没有折叠的东西):

打开和关闭以查看树: http://jquery.bassistance.de/treeview/demo/prerendered.html

信息

  • 不知道有多少级。
  • 无法更改 HTML,因为它是由 Wordpress 生成的
  • 使用背景或边框来展示您的作品。

如果 JSfiddle 不起作用,你可以使用这个:

CSS

    * {
    margin: 0;
    padding: 0;
}
.sidebar > ul > li {
    background: none;
}
li {
    padding-left: 20px;
    list-style: none;
    background: url('http://www.jenst.se/images/normal.png') repeat-y 10px 0;
    color: #333;
    font-family: Arial;
    font-size: 13px;
    line-height: 22px;
}
li a {
    color: #555;
}
li:last-child {
    background: url('http://www.jenst.se/images/lastchild.png') no-repeat 10px 0px;
}

HTML

<div class="sidebar default">
<ul>
    <li id="categories-10" class="widget widget_categories">
        <h4 class="title">Kategorier</h4>
        <ul> 
            <li class="cat-item cat-item-7"><a href="http://localhost/concepts/addmod/category/sjukt-lang-kategori-som-tar-for-mycket-plats/" title="Se alla inlägg sparade under Datorer">Datorer</a> 
            </li> 
            <li class="cat-item cat-item-3"><a href="http://localhost/concepts/addmod/category/testkategori/" title="Se alla inlägg sparade under Mjukvara">Mjukvara</a> 
                <ul class='children'> 
                    <li class="cat-item cat-item-4"><a href="http://localhost/concepts/addmod/category/testkategori/underkategori/" title="Se alla inlägg sparade under Hårdvara">Hårdvara</a> 
                        <ul class='children'> 
                            <li class="cat-item cat-item-6"><a href="http://localhost/concepts/addmod/category/testkategori/underkategori/underkategori-2/" title="Se alla inlägg sparade under Microsoft">Microsoft</a>
                            </li> 
                            <li class="cat-item cat-item-9"><a href="http://localhost/concepts/addmod/category/testkategori/underkategori/bla/" title="Se alla inlägg sparade under Office-paket">Office-paket</a> 
                            </li> 
                        </ul> 
                    </li> 
                </ul>
            </li>
            <li class="cat-item cat-item-3"><a href="http://localhost/concepts/addmod/category/testkategori/" title="Se alla inlägg sparade under Mjukvara">Mjukvara</a> 
                <ul class='children'> 
                    <li class="cat-item cat-item-4"><a href="http://localhost/concepts/addmod/category/testkategori/underkategori/" title="Se alla inlägg sparade under Hårdvara">Hårdvara</a> 
                        <ul class='children'> 
                            <li class="cat-item cat-item-6"><a href="http://localhost/concepts/addmod/category/testkategori/underkategori/underkategori-2/" title="Se alla inlägg sparade under Microsoft">Microsoft</a>
                            </li> 
                            <li class="cat-item cat-item-9"><a href="http://localhost/concepts/addmod/category/testkategori/underkategori/bla/" title="Se alla inlägg sparade under Office-paket">Office-paket</a> 
                            </li> 
                        </ul> 
                    </li> 
                </ul>
            </li>
        </ul> 
    </li>
    <li id="categories-10" class="widget widget_categories">
        <ul> 
            <li class="cat-item cat-item-7"><a href="http://localhost/concepts/addmod/category/sjukt-lang-kategori-som-tar-for-mycket-plats/" title="Se alla inlägg sparade under Datorer">Datorer</a> 
            </li> 
            <li class="cat-item cat-item-3"><a href="http://localhost/concepts/addmod/category/testkategori/" title="Se alla inlägg sparade under Mjukvara">Mjukvara</a> 
                <ul class='children'> 
                    <li class="cat-item cat-item-4"><a href="http://localhost/concepts/addmod/category/testkategori/underkategori/" title="Se alla inlägg sparade under Hårdvara">Hårdvara</a> 
                        <ul class='children'> 
                            <li class="cat-item cat-item-6"><a href="http://localhost/concepts/addmod/category/testkategori/underkategori/underkategori-2/" title="Se alla inlägg sparade under Microsoft">Microsoft</a>
                            </li> 
                            <li class="cat-item cat-item-9"><a href="http://localhost/concepts/addmod/category/testkategori/underkategori/bla/" title="Se alla inlägg sparade under Office-paket">Office-paket</a> 
                            </li> 
                        </ul> 
                    </li> 
                </ul>
            </li>
        </ul> 
    </li>
</ul>
</div>

【问题讨论】:

  • javascript 是任何选项还是被禁止?
  • @Marnix CSS 是首选,但我会接受一个有效的 Javascript 答案。
  • 你想自己写吗?因为我实际上发现了很多很棒的 javascript 树视图工具。

标签: css dom tree background


【解决方案1】:

看看这个 javascript 树视图:http://krijnhoetmer.nl/stuff/javascript/list-treeview-menu/

它确实具有与您喜欢的 li 和 ul 相同的结构。或许你可以通过firebug 来看看。

【讨论】:

    【解决方案2】:

    我想通了。这是一个工作代码:

    http://jsfiddle.net/Kwfpm/3/

    可以将红色边框改为背景图片水平线。

    【讨论】: