首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何制作一个ul li css菜单,项目之间的间距可变。

如何制作一个ul li css菜单,项目之间的间距可变。
EN

Stack Overflow用户
提问于 2012-05-25 04:53:29
回答 2查看 15.8K关注 0票数 4

这个想法是制作一个包含固定数量项目的菜单。每个项目都必须有一个固定的填充,使他们看起来像样时,在他们周围放置一个边界。(到目前为止还不错)但是这些项目必须分布在一个固定大小的div中,间隔均匀-项目本身不会有相同的大小,因为这依赖于这些项目中的文本。

我不明白的是,如何确保这些项目在固定div (在我的例子中是1000px)内动态(或多或少)均匀间隔的一行上。第一项应该排在div的左边缘。最后一项应该排在div的右边缘。

下面是我到目前为止所知道的。这已经在上面设置了填充和边框,但是我不能设置一个空白:0自动在上面,我可以,但是它不会做任何事情。主要的问题是,项目之间的间距应该是动态的,因为在缩放浏览器时,项目往往会跳转,这反过来会扰乱外部项目的对齐,甚至会使一些项目跳到下一行。这就是为什么(缩放会把事情搞得一团糟--尤其是固定宽度)我不愿意给每个项目设置一个实际的宽度(我知道我需要一个宽度来正确地使用边距:0自动,但即使我确实使用了宽度,它似乎也不能达到我想要的效果)。

代码语言:javascript
复制
<div id="navigation">
    <ul>
        <li class="menu-1"><a href="" >Home</a></li>
        <li class="menu-2"><a href="" class="">Nieuws</a></li>
        <li class="menu-3"><a href="" class="">Producten</a></li>
        <li class="menu-4"><a href="" class="">Algemene informatie</a></li>
        <li class="menu-5"><a href="" class="">Promoties</a></li>
        <li class="menu-6"><a href="" class="">Algemene voorwaarden</a></li>
        <li class="menu-7"><a href="" class="">Contact</a></li>
    </ul>
</div>

#navigation ul {
    margin:0px;
    padding:0px;
    list-style:none;
    width:1000px;   
    display:block;
}

#navigation li {
    float: left;
    display:inline;
}

#navigation li a {
    padding:10px 15px 10px 15px;
    float:right;

    display: block;
    border: 0.1em solid #dcdce9;
    color: #6d6f71;
    text-decoration: none;
    text-align: center; 
    font-size:18px;
    font-weight:bold;
}

#navigation{
    width:100%;
}
EN

回答 2

Stack Overflow用户

发布于 2012-05-25 04:57:14

最简单的方法是使用表格而不是li项:您可以定义表格宽度,单元格宽度将自动计算。

您可以选择以%为单位赋予它们宽度,以使它们相等,也可以决定让它们按比例调整。

不需要害怕表格:有时它们可以更简单地完成工作。

票数 2
EN

Stack Overflow用户

发布于 2012-05-25 05:03:20

使用表格显示模式:http://jsfiddle.net/pnUdp/1/

代码语言:javascript
复制
#navigation {
    margin:0px;
    padding:0px;
    display:table;
    width:1000px;
    border-collapse: collapse;
}

#navigation ul{
    margin:0px;
    padding:0px;
    list-style:none;
    display:table-row-group;
}

#navigation li{
    display:table-cell;
    border: 0.1em solid #dcdce9;
    vertical-align: middle;
}

#navigation li a{
    padding:10px 15px 10px 15px;
    display:block;
    color: #6d6f71;
    text-decoration: none;
    text-align: center; 
    font-size:18px;
    font-weight:bold;
}

我不确定这是如何跨浏览器的……

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

https://stackoverflow.com/questions/10745106

复制
相关文章

相似问题

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