首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有100%宽度分隔器的CSS手风琴/树菜单

问带有100%宽度分隔器的CSS手风琴/树菜单
EN

Stack Overflow用户
提问于 2009-07-13 16:44:39
回答 2查看 4K关注 0票数 2

我想用HTML创建一个CSS/JS手风琴菜单,如下所示:

代码语言:javascript
复制
<ul>
    <li><a href="#">First Link</a>
        <ul>
            <li><a href="#">Child One</a></li>
            <li><a href="#">Child Two</a></li>
        </ul>
    </li>
    <li><a href="#">Second Link</a></li>
    <li><a href="#">Third Link</a></li>
</ul>

nav结构可以得到N个层次,每个子菜单都会从其父菜单缩进。我希望有一个边框,它跨越所有nav元素之间宽度的100%,包括n级子元素。如下所示:

alt文本http://files.getdropbox.com/u/64548/nested-nav.png

我不可能在不使用JavaScript的情况下找到一种简单的方法来完成这一任务,但这感觉应该是可能的。(我将使用JS展开/折叠导航树)。

EN

回答 2

Stack Overflow用户

发布于 2009-07-14 11:08:00

您需要在<a>上设置边框和填充,这也必须设置为display:block。这提供了额外的奖励,因为它使整个<li>区域可点击。

在ul中不需要额外的标记。只需定义css中子列表的最大数量即可。

这里的例子

代码语言:javascript
复制
a {text-decoration:none;}
ul {width:240px;padding:0;list-style:none;border-top:1px solid #000;}
ul ul, ul ul ul {border-top:0;}
li a {border-bottom:1px solid #000;display:block;padding-left:0px;}
li li a {padding-left:40px;}
li li li a {padding-left:80px;}


<ul>
    <li><a href="#">First Link</a>
        <ul>
            <li><a href="#">Child One</a></li>
            <li><a href="#">Child Two</a>
                <ul>
              <li><a href="#">Child Two One</a></li>
              <li><a href="#">Child Two Two</a></li>
              </ul>
          </li>
        </ul>
    </li>
    <li><a href="#">Second Link</a></li>
    <li><a href="#">Third Link</a></li>
</ul>
票数 1
EN

Stack Overflow用户

发布于 2009-07-13 16:47:39

分隔器行的贴图背景图像与调整大小没有矛盾(至少不应该,使用正常的CSS渲染器)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1120664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档