小小web~ 2022-03-21 14:39 采纳率: 64%
浏览 329
已结题

hover怎么控制父级元素或者上一级元素或者相邻的下下一个元素?

怎么用box3控制box1,box2,box5呢?

<div class="box1">
        <div class="box2">1</div>
        <div class="box3">2</div>
        <div class="box4">3</div>
        <div class="box5">4</div>
  </div>

  • 写回答

2条回答 默认 最新

  • 关注

    无法控制父级元素或者上一级元素
    控制相邻的下下一个元素是 .box3:hover+div+div

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
        <title> 页面名称 </title>
    <style type="text/css">
    .box3:hover+div+div {
        border: 1px solid red;
        background-color: #999;
    }
        
    </style>
    <body>
        <div class="box1">
            <div class="box2">1</div>
            <div class="box3">2</div>
            <div class="box4">3</div>
            <div class="box5">4</div>
        </div>
    </body>
    </html>
    
    

    css的渲染方式是从外到内,从上到下的遍历页面元素,
    css中关系选择符类别中也只能是选择子元素E F或E>F,与选择之后的兄弟元素E+F或E~F
    所以使用hover来控制其他元素的样式,被控制的元素只能是hover的子元素,或者之后的兄弟元素。
    如果不是这两种情况就需要尽量改变页面元素布局,让它符合这两种情况。
    或者改用js设置 mouseleave 和 mouseenter 事件来控制其他元素。

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月29日
  • 已采纳回答 3月22日
  • 修改了问题 3月21日
  • 创建了问题 3月21日