Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 奇怪的悬停行为_Html_Css_Hover - Fatal编程技术网

Html 奇怪的悬停行为

Html 奇怪的悬停行为,html,css,hover,Html,Css,Hover,我有一个像这样的html <div id = "header"> <a href ="#">Panel</a> <ul class="headermenu"> <li><a href="">asdas</a></li> <li><a href="">asdasd</a></li&g

我有一个像这样的html

<div id = "header">
        <a href ="#">Panel</a>
        <ul class="headermenu">
            <li><a href="">asdas</a></li>
            <li><a href="">asdasd</a></li>
        </ul>
</div>
*{
    padding:0px;
    margin:0px;
    font-family: "Open Sans",Arial, Verdana;
    font-weight:100;
}

ul{
    list-style-type:none;
    padding:0px;
    margin:0px;
}

div#header{
 margin:40px;   
}

div#header a{
    color:#B2B4B8;
    line-height:40px;
    display:block;
    float:left;
}


.headermenu li{
    float:left;
}

.headermenu li a{
    display:block;
    margin-left:20px;
    font-size:12px;
}

.headermenu li a:hover{
    color:#000;
}

.headermenu{
    float:right;
    margin-right:20px;
}
我无法使用.headermenu li a:hover将白色应用于ul的a的悬停,它有一个名为headermenu的类

但是我可以使用divheader应用这个悬停

为什么??所有其他的SYLE都应用在.headermenu选择器下,但hover无法解释为什么

divheader a{正在设置颜色,ID元素始终优先于任何基于类的元素


因此,基于类的悬停线将被忽略。

这是由于选择器的特殊性。ID元素的特殊性高于class元素,因为它们都决定元素的颜色,ID优先

更多详情:

在学习css规则时,我发现这非常有用:

只需添加!在悬停css中很重要

校长李娜:悬停{color:000!重要;}

或者试试这个:


divheader.headermenu-li a:hover{color:000;}

如果您无法提供更具体的选择器,请使用!important:.headermenu-li a:hover{color:000!important;}它可以工作。但我为什么需要它呢?正如@Lee所提到的,ID选择器比类选择器更有效。您也可以使用header-ul-li a{color:000;}最后,您可能应该为headermenu使用ID。我想您不会有多个标题菜单?不应该diva标题菜单吗{设置标签的颜色?它不应该设置aIt的悬停颜色。如果不设置悬停颜色,则会忽略您尝试使用悬停颜色的操作,因为整个标签的ID具有优先权。您应该删除基于ID的规则,而改为使用基于类的规则。但为什么会忽略它?其他属性我在.headermenu下使用的不会被忽略,因为您没有在ID类中使用它们。您的ID中有颜色:B2B4B8;行高:40px;显示:块;浮动:左;在您的类样式中有显示:块;左边距:20px;字体大小:12px;这些没有被复制,因此被设置。对不起,我可能没有以最好的方式解释这一点。我没有我不太明白,但我想你的答案是对的