CSS。菜单文本颜色在悬停或菜单文本颜色更改时不会更改

时间:2014-04-13 16:40:47

标签: html css menu

我使用CSS为网站创建了一个子菜单。但我想在鼠标悬停时更改菜单文本颜色。但是,当我将代码更改为“使其正常工作”时子菜单中的其他文字颜色会发生变化。

问题1 CSS代码

ul ul {
    display: none;
}

ul li:hover > ul {
        display: block;
}
ul#header_menu {
    list-style: none;
    position: relative;
    display: inline-table;
    border-bottom: 1px solid #ccc;
    width: 100%;
}
ul:after {
        content: ""; clear: both; display: block;
}
ul li {
    float: left;
    padding-right: 10px;
}
ul li:hover a {  

    color: #1583BE;

    transition: color .16s linear;
}
ul li:hover {
    color: #1583BE;
    transition: color .16s linear;
}

ul li a {
    display: block;
    color: black; 
    text-decoration: none;
    font-size: 1.3em;
}
ul ul {
    background: white; 
    padding: 0;
    position: absolute; 
    top: 100%; 
    width: 100px;
    border: 1px solid #ccc;
}
ul ul li {
    border-bottom: 1px solid #ccc;
    float: none; 
    position: relative;
    list-style-type: none;
}
ul ul li a {
    font-size: 1.2em;
}
ul ul li a:hover {
    color: #1583BE;
    transition: color .16s linear;
}

问题2 CSS代码

ul ul {
    display: none;
}

ul li:hover > ul {
        display: block;
}
ul#header_menu {
    list-style: none;
    position: relative;
    display: inline-table;
    border-bottom: 1px solid #ccc;
    width: 100%;
}
ul:after {
        content: ""; clear: both; display: block;
}
ul li {
    float: left;
    padding-right: 10px;
}
ul li:hover a {  

    color: #1583BE;
    transition: color .16s linear;
}
ul li:hover {
    color: #1583BE;
    transition: color .16s linear;
}

ul li a {
    display: block;
    color: black; 
    text-decoration: none;
    font-size: 1.3em;
}
ul ul {
    background: white; 
    padding: 0;
    position: absolute; 
    top: 100%; 
    width: 100px;
    border: 1px solid #ccc;
}
ul ul li {
    border-bottom: 1px solid #ccc;
    float: none;
    position: relative;
    list-style-type: none;
}
ul ul li a {
    font-size: 1.2em;
}
ul ul li a:hover {
    color: #1583BE;
    transition: color .16s linear;
}

我现在添加了jsfiddle。

问题1 jsfiddle

http://jsfiddle.net/LsjCS/

问题2 jsfiddle

http://jsfiddle.net/5pjUu/

我试图让它工作但不成功。 对不起我,有时候,英语不好。 谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

我从你的第一个小提琴开始工作。问题在于您应用:hover的位置。所以如果你改变这部分(CSS的第22行)

ul li:hover a {  

    color: #1583BE;
    transition: color .16s linear;
}

到这个

ul li a:hover {  

    color: #1583BE;
    transition: color .16s linear;
}

如果我理解你的问题,那就解决了你的问题。