不是答案,而是解释为什么CSS不匹配HTML。在CSS空间中,空格用作分隔符,以告知浏览器查找子项,因此您的CSSa .hover :hover{ text-decoration:underline;}意思是“寻找一个元素,然后寻找它具有悬停类的任何后代,并寻找那些具有悬停状态的后代的任何后代”,并且将与该标记匹配<a> <span class="hover"> <span> I will become underlined when you hover on me <span/> </span></a> 如果要匹配< a class="hover">I will become underlined when you hover on me</a>,则应使用a.hover:hover,这意味着“查找具有类悬停和悬停状态的任何元素”