:hover 伪类选择器
利用:hover关于悬停元素隐藏,,鼠标悬停在父元素,打开后代子元素,为什么这个后代子元素不能用后代选择器来书写,会无效
searchbox是li的子集,鼠标悬停在li上打开searchbox,以上那个写法无效,
.search ul li:hover .search ul li .searchbox {
display:block;
}
上面这 display:block; 作用于.search ul li .searchbox这四个元素标签甚至还有span
但是实际初次定义隐藏的只有.searchbox标签的元素 其他元素一开始就是display:block; (可以F12去后台看)
但是执行要变成block 所以浏览器无法解释CSS样式 就不会继续执行下面的子元素
是不是第一个hover后要加个逗号(,),现在就相当于.search下面还有一个这个,但是你的html代码里面结构并不是这样,
现在可以这样写试试.search ul li:hover .searchbox{}
按css 的逻辑元素是一级接一级,searchbox 是li的子元素而不是伪类hover的,自然也就无效,按我理解你应该是想实现tab标签页切换效果,css不是万能的有些功能需要结合js解决
因为.search就不是li:hover的子元素,第一种写法找不到任何匹配的元素。
因为.search不是 li : hover 的子元素,第一种写法找不到任何匹配的元素,直接写li下面的元素就行了,这个记住就行不用纠结