html - CSS 下拉 <ul> <li> 菜单每一层大小不同

标签 html css

您好,我不知道如何更改 CSS 菜单子(monad)项的大小(父项有图像背景,子项应该有背景色)。 我试过类似的东西:

ul > li > a:hover {
    display:inline-block;
    background:#000;
    float:left;
    width:120px;
    height:25px;
}

但它都与其他元素混合在一起。你能帮我弄清楚吗?

HTML:

   <div id="menu">
   <ul>
    <li><a id="menu1" href="#">Parent1</a></li>

    <li><a href="#">Parent2</a>
        <ul>
            <li><a href="#">Child1</a></li>
            <li><a href="#">Child2</a></li>
            <li><a href="#">Child3</a></li>
        </ul>
    </li>
    <li><a href="#">Parent3</a></li>
    <li><a href="#">Parent4</a></li>
    <li><a href="#">Parent5</a></li>
   </ul>
   </div>

CSS:

#menu {
    position:absolute;
    top:133px;
    left:0px;
    width:900px;
    height:50px;
}
ul {
    font-family: Arial, Verdana;
    font-size: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}
ul li {
    display: block;
    float: left;
}
li ul {
    display: none;
}
ul li a {
    display: block;
    text-decoration: none;
    color: #ffffff;
    /*padding: 5px 15px 5px 15px;*/
    background-image: url(../images/menu1.png);
    white-space: nowrap;
    width:178px;
    height:50px;
}
ul li a:hover { 
    background: #BBBBBB;
}
li:hover ul {
    display: block;
    position: absolute;
    left:0px;
}
li:hover li {
    float: left;
    font-size: 11px;
}
li:hover a { 
    background: #3b3b3b; 
}
li:hover li a:hover {
    background: #CCC;
}

非常感谢您的提前帮助!

最佳答案

希望以下更改对您有用。这是 fiddle link .以下是你的 css chagnes

#menu {
    /*position:absolute;
    top:0;
    left:0px;*/
    width:900px;
    height:22px;
    background-color:#000;
}
ul {
    font-family: Arial, Verdana;
    font-size: 14px;
    line-height:22px;
    margin: 0;
    padding: 0;
    list-style: none;
    text-align:center;
}
ul li {
    display: block;
    float: left;
    position:relative;
}
ul li a {
    display: block;
    text-decoration: none;
    color: #ffffff;
    /*padding: 5px 15px 5px 15px;*/
    background-image: url(../images/menu1.png);
    white-space: nowrap;
    width:178px;
    line-height:22px;
}
ul li:hover a { 
    background: #BBBBBB;
}
ul li ul {
    display: none;
    widht:200px;
    position:absolute;
    left:0;
    top:22px;
}
ul li ul li {
    float: none;
    font-size: 11px;
}
ul li ul li a {
  background: #3b3b3b;
    background-image:none!important;
}
ul li ul li a:hover {
    background: #CCC;
}
ul li:hover ul {
    display: block;
    position: absolute;
    left:0px;
}

关于html - CSS 下拉 <ul> <li> 菜单每一层大小不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17469073/

相关文章:

html -> * 在 CSS 中选择什么?

html - 联系表格的下拉列表

css - css 转换 :translate to align a div in the center ist not working

html - css 对齐元素使它们之间有相同的空间

html - 网络图片的颜色可以与其背后的颜色相反吗?

html - 使用百分比而不是 px 使文本在图像上居中

javascript - 从 angularjs 更改 Bootstrap 进度条宽度

HTML 和 CSS - 为分辨率太低的用户创建警告消息?

html - 最后应用了哪一个?

javascript - 拖动时悬停效果