如何让css子菜单链接比父链接更长

时间:2013-08-27 12:04:52

标签: html css

我有一个带有水平子菜单链接的CSS垂直菜单

http://jsfiddle.net/xmgMq/1/

我正在尝试使子菜单链接的宽度与链接文本的宽度相同,而不会更改父链接的宽度。

这是我的CSS:

.vertical-nav {
    height:auto;
    list-style:none;
    width: 400px; /******* MODIFIED ********/
    margin: 20px 0 0 0;
}
.vertical-nav li {
    height: 25px;
    margin: 0;
    padding: 5px 0;stac
    background-color: #666;
    border: none;
    text-align: center;
    display: inline-block;
    float: left;
    width: 200px;  /******* MODIFIED ********/
}
.vertical-nav li:hover {
    background-color:#f36f25;
    color:#FFFFFF;
}
.vertical-nav li a {
    font-family:Calibri, Arial;
    font-size:18px;
    font-weight:bold;
    color:#ffffff;
    text-decoration:none;
}
.vertical-nav li.current {
    background-color:#F36F25;
}
.vertical-nav li.current a {
    color:#FFFFFF;
}
vertical-nav ul li ul {
    display:none;
    list-style-type:none;
    width:125px;
    padding:0px;
    margin-top:3px;
    margin-left:-5px;
}
vertical-nav ul li:hover ul {
    display:block;
}
vertical-nav ul li:hover ul li {
    background-color:#555555;
    width:125px;
    height:30px;
    display:inline-block;
}
vertical-nav ul li ul li:hover {
    background-color:#333333;
}
vertical-nav ul li ul li a {
    color:#FFF;
    text-decoration:underline;
}
vertical-nav ul li ul li a:hover {
    text-decoration:none;
}
.vertical-nav li ul {
    display: none;
    margin-top: 6px;
    padding: 0;
}
.vertical-nav li:hover ul {
    display: block;
}

我已经制作了子菜单链接200px的宽度,然后如果它的长度没有显示所有文本,或者如果我100%它只做100%的父链接

3 个答案:

答案 0 :(得分:4)

要让所有的li都采用最宽的li的宽度 - 请使用css tables

.vertical-nav li:hover .sub-menu
{
    display: table;
}
.sub-menu li
{
    width: 100%;
    min-width: 180px;
    white-space: nowrap;  
    display:table-row;
}
.sub-menu li a
{
    display:inline-block;
    padding: 0 10px;
}

<强> FIDDLE

答案 1 :(得分:0)

这就是你要找的东西

.vertical-nav li uL li{width:auto !important;min-width:51%;}

答案 2 :(得分:0)

make li

width: auto;
min-width: 200px;