2017-07-13 44 views
1

是否有可能在:before元素上生成:hover以便显示它的内容?悬停和CSS3之前的问题

enter image description here

enter image description here

+1

https://stackoverflow.com/questions/5777210/how-to-write-hover-condition-for-abefore-and-aafter – onetwo12

+0

可能的重复[如何写:悬停条件为:之前和之后? ](https://stackoverflow.com/questions/5777210/how-to-write-hover-condition-for-abefore-and-aafter) – cjl750

回答

1

是的,它可以像..做

.selector:hover:before {/* css rule goes here */} 
0

这是不可能添加:hover风格(或:active,或:focus)像:before或任何元素:after。它们必须应用于实际的HTML元素,而不是伪元素。

从您的屏幕截图看来,您尝试创建悬停菜单。根据你的风格,你可能会将:hover样式应用于ul本身。但是,您只能使用CSS控制ul样式 - 根据其父级的悬停状态(无JS)无法控制li样式。

如果JS是一个选项,使用它 - 在这种情况下它应该非常简单,并且会使代码更容易。如果仅仅是CSS要求,则可以通过将<ul>设置为特定高度(足够大以显示hover项目但没有其他任何项目)并且给予ul:hover更大的高度或height: auto;等等来解决此问题。