CSS实现鼠标悬停改变其他标签样式

CSS实现鼠标悬停改变其他标签样式

前言:
        据我了解目前CSS只能控制悬停时改变该标签下面的兄弟标签和子标签样式,如有大佬有好的方法请指教!
控制其他标签(根据控制标签与被控制标签之间的关系)可分为三种类型如下:

  • 本文中控制标签为 .div1
  • 被控制标签为 .div2
  1. 控制子标签(.div1:hover和.div2之间使用空格)
    
    
        
            
            
            
        
        
            
    div1
    div3
    div2

    被控制标签只要是控制标签的子标签就可以,里有其他标签(如.div3)不会影响效果!

  2. 控制兄弟标签(.div1:hover和.div2之间使用+)
    
    
        
            
            
            
        
        
            
    div1
    div2

    使用“+”时,.div2必须紧贴在.div屁股后面才会有效果,否则无效!!!例如:将.div3取消注释后,.div1将无法控制.div2的样式!!!如果控制标签和被控制标签中间有内容,需要按照第三种方式写!

  3. 控制兄弟标签(中间有内容)(.div1:hover和.div2之间使用~)
    
    
        
            
            
            
        
        
            
    div1
    div3
    div2
    这种方法的使用要求是被控制标签必须在控制标签的下面,中间可以有任意内容。

总结:

控制子标签

中间使用空格

控制紧贴后面的兄弟标签

中间使用“+”

控制后面任意兄弟标签

中间使用“~”

如有错误之处,敬请指教!

你可能感兴趣的:(前端,css,html,前端,html5,css3)