Html 为什么img:hover不';你不在这里工作吗?

Html 为什么img:hover不';你不在这里工作吗?,html,css,Html,Css,我通过设置可见性:hidden 在图像悬停时,我将锚点可见性设置为可见,但锚点不会出现在图像悬停上 不确定片段中出了什么问题 #image{ width :240px; height :190px; } #image:hover #link{ visibility : visible; } #link{ visibility : hidden; position: absolute; left: 150px; top:

我通过设置
可见性:hidden

在图像悬停时,我将锚点可见性设置为
可见
,但锚点不会出现在图像悬停上

不确定片段中出了什么问题

  #image{
    width :240px;
    height :190px;
  }
  #image:hover #link{
    visibility : visible;
  }
  #link{
    visibility : hidden;
    position: absolute;
    left: 150px;
    top: 170px;
  }

应用适当的选择器后,可见性问题得到解决。但现在,当我在链接上悬停时,它开始闪烁。有什么提示吗


检查代码片段

请将代码添加到问题正文中。不管怎么说,你写了这封信:

#image:hover  #link{
  visibility : visible;
}
这将使
内部的
链接可见。因为图像中没有链接,这是没有意义的。链接是图像的直接同级,因此您可以执行以下操作:

#image:hover + #link{
  visibility : visible;
}
#link
#image
的相邻兄弟,因此您需要编写

  #image:hover + #link{
    visibility : visible;
  }
+
是相邻同级选择器

A+B
匹配
B
什么时候是
A

的近亲

#image:hover #link{
visibility : visible;
  }
像这样使用

#image:hover + #link{
visibility : visible;
 }
您需要:

 #image:hover  + #link{
    visibility : visible;
  }

它起作用了。但现在,当我在链接上悬停时,它会飞起来。有什么提示吗?当然,如果您将链接悬停,则不再应用
#image:hover
。您应该将
:hover
规则应用于图像和链接的父级:例如。
 #image:hover  + #link{
    visibility : visible;
  }