css - 下拉子菜单与主菜单栏宽度相同

标签 css navigation

我是 CSS 的新手,老实说,我真的不知道自己在做什么。一段时间以来,我一直在尝试使下拉菜单中的子页面至少与父页面具有相同的宽度。

在对我在 google 上找不到任何东西感到沮丧数小时后,我想我应该问问真正知道他们在做什么的人。这是(糟糕的)代码:

.menu li > a:after {
    color: #fff;
    content: ' ▼';
}

.menu li > a:only-child:after {
    content: '';
}



#main-nav {
    background-color: #6699FF;
    height: 40px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    text-align: center;
    display: block;
    float: left;
    width: 100%;
}

#main-nav li {
    position: relative;
}

#main-nav ul {
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    position: relative;
    list-style: none;
    display: block;
}

#main-nav ul li {
    float: left;
    display: block;
    position: relative;
}

#main-nav ul li a {
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    display: inline;
}


#main-nav a:link, #main-nav a:visited {
    color: #FFF;
    display: block;
    padding: 10px 25px;
    height: 20px;
}



/*Sub menus */


#main-nav {
    overflow: visible;
}

#main-nav ul {
    right: 0;
}

#main-nav ul li ul.sub-menu {
    position:absolute;
    display:none;
    margin: 0;
    padding: 0!Important;
    float: none;
}

#main-nav ul li:hover ul.sub-menu {
    display:block!important;
    float: none;
    white-space: nowrap;

}

#main-nav ul li ul.sub-menu li {
    background: #6699FF;
    text-align: left;
    -webkit-transition: height 0.3s ease-in;
            -moz-transition: height 0.3s ease-in;
            -o-transition: height 0.3s ease-in;
            -ms-transition: height 0.3s ease-in;
            transition: height 0.3s ease-in;
    width: auto;
    left:0;
}
#main-nav ul li ul.sub-menu li a {
    width: auto;
    border-radius: 0px;
    -moz-border-radius: 0px;
    -webkit-border-radius: 0px;
}

这是我将鼠标悬停在父“meep”页面上时的样子: http://i.imgur.com/rAXvvbP.png?1

我希望它具有相同的宽度,从左侧开始,这样由于长页面名称而导致的任何多余宽度都将移至右侧。

我试过更改显示类型和宽度,但还没有:(

如果有任何帮助,我将不胜感激!提前致谢

对不起,糟糕的代码

JSfiddle:http://jsfiddle.net/q5381Ly5/1/

最佳答案

我只改这两个,加上width 100%,就会得到父级的整个宽度。

这是一个演示 http://jsfiddle.net/q5381Ly5/4/

    #main-nav ul li:hover ul.sub-menu {
        display:block!important;
        float: none;
        white-space: nowrap;
        width:100%;
    }

    #main-nav ul li ul.sub-menu li {
        width:100%;
        background: #6699FF;
        text-align: left;
        -webkit-transition: height 0.3s ease-in;
                -moz-transition: height 0.3s ease-in;
                -o-transition: height 0.3s ease-in;
                -ms-transition: height 0.3s ease-in;
                transition: height 0.3s ease-in;
        left:0;
    }

关于css - 下拉子菜单与主菜单栏宽度相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25287418/

相关文章:

javascript - jQuery Navigation 淡入淡出、隐藏、显示、反弹和计时

javascript - 没有 ".html"的情况下导航

html - 使用 <select> 创建下拉菜单导航

c# - 当使用 RegionManager.RequestNavigate 方法添加 View 时,是否有任何方法可以从 Prism 区域中删除 View (按名称)?

javascript - 将标题与 Javascript 倒数计时器中的每个数字对齐

html - 用 HTML 隐藏 <div>,用 CSS 显示

css - 将一个 div 定位在另一个 div 的底部

jquery - jquery中如何设置图像元素的背景颜色

css - 如何路由到 mvc.net 中的 css/js 文件

html - CSS 拼图 : move last two item of the navigation to the right