将所有<li>设置为具有相同的宽度

时间:2015-07-21 13:41:30

标签: css twitter-bootstrap width html-lists

我想用引导程序构建一个navbar,其中的所有单元格都具有相同的宽度。

我尝试了上面的代码,但它不能很好地运行。 我该如何解决?

.navbar-collapse {
    padding-left: 0;
    padding-right: 0;
}

.navbar .nav {
    margin: 0;
    display: table;
    width: 100%;
    direction: rtl;
}

.navbar .nav > li {
    float: right;
    display: table-cell;
    width: auto;
    float: none;
    text-align: center;
    direction: rtl;
}
.navbar .nav > li:hover {
background-color: #808080
}

.navbar .nav li:first-child a {
    border-left: 0;
    border-radius: 3px 0 0 3px;
}

.navbar .nav li:last-child a {
    border-right: 0;
    border-radius: 0 333px 3px 0;
}

示例:http://jsfiddle.net/abzvw0m3/(当屏幕宽度大于768像素时)

4 个答案:

答案 0 :(得分:2)

将其更改为此,所有li元素的父元素宽度均为10%。

.navbar .nav > li {
    float: right;
    display: inline-block;
    width: auto;
    float: none;
    text-align: center;
    direction: rtl;
    width:10%;
    font-size:12px;
}

答案 1 :(得分:0)

要获得相同的单元格宽度,您必须设置ul.nav规则table-layout: fixed;

.navbar .nav {
    margin: 0;
    display: table;
    width: 100%;
    direction: rtl;
    table-layout: fixed; 
}

.navbar ul.nav  li {
    float: right;
    display: table-cell;
    width: 100%;
    float: none;
    text-align: center;
    direction: rtl;
}

<强> DEMO HERE

答案 2 :(得分:0)

尝试添加宽度

.navbar .nav > li {
float: right;
display: table-cell;
width: auto;
float: none;
text-align: center;
direction: rtl;
width: 15%;;    /* add the width use % for dinamic**/
}

答案 3 :(得分:0)

将您的li更改为具有与您将使用的最大li相似的值的固定宽度或百分比宽度,

例如:

width: 132px;

width: 20%;