13

当我将鼠标悬停在父元素本身上时,是否可以display:block;使用伪元素?:after

#myDiv{
   position:relative;
   width:50px;
   height:50px;
   border-style:solid;
   background-color:red;
}
#myDiv:after{
   position:absolute;
   content:"";
   display:none;
   width:50px;
   height:50px;
   border-style:solid;
   background-color:blue;
}

我累了:

#myDiv:hover #myDiv:after{
    display:block;
}
#myDiv:hover + #myDiv:after{
    display:block;
}
#myDiv:hover > #myDiv:after{
    display:block;
}

然而没有运气,这是一个小提琴

4

2 回答 2

46

将其更改为#myDiv:hover::after

您可以使用:after或者::after但在选择器模块 (3) 中它声明后者现在旨在用于将它们与伪类区分开来

于 2013-03-18T23:25:18.427 回答
6

您正在尝试引用相同的元素,因此您不需要复制 ID 选择器。也不需要使用子选择器,只需使用:

#myDiv:hover:after {
    display: block;
}

jsFiddle 演示

于 2013-03-18T23:25:04.227 回答