满口金牙 2021-12-05 16:22 采纳率: 91.5%
浏览 72
已结题

css z-index 同级元素改变 层级关系无效

lang='less'

.div1,.div2,.div3{
  position: absolute;
}
.div1 {
  z-index: 900
}
.div2{
  z-index: 889;
}
.div3 {
  z-index: 887;
}

.div2:hover{
  z-index: 902;   //div2在顶层,(有效)
}
.div3:hover{
  z-index: 902;   //div3在顶层(有效)
}
// 下面这句无效
.div3:hover+.div2{
  z-index: 901;  // 同时div2在次顶层(无效)
}
// 这样也不行
.div3:hover .div2{
  z-index: 901;  // div2在次顶层
}
  • 写回答

2条回答 默认 最新

  • 前端阿彬 前端领域新星创作者 2021-12-06 09:46
    关注

    你看一下,用.div3.div2 或者 .div3+.div2都行,关键是在html部分,要把div2放div3下面!
    第一种:+ 相邻兄弟选择器(.div3
    .div2)只能选择与自己紧紧相连的身后的一个兄弟
    第二种:~ 通用兄弟选择器(.div3~ .div2 )只可以选择在自己身后的所有类名是.div2小弟
    关键就在于只能改变自身元素后面的元素样式

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
            <style>
                div {
                    width: 100px;
                    height: 100px;
                }
    
                .div1,
                .div2,
                .div3 {
                    position: absolute;
                }
    
                .div1 {
                    left: 0;
                    top: 0;
                    background: red;
                    z-index: 900;
                }
    
                .div2 {
                    background: blue;
                    z-index: 889;
                    left: 10px;
                    top: 10px;
                }
    
                .div3 {
                    background: #CCCCCC;
                    z-index: 887;
                    left: 20px;
                    top: 20px;
                }
    
                .div2:hover {
                    z-index: 902;
                }
                .div3:hover{
                    z-index: 903;
                }
                /* .div3:hover~.div2 {
                    z-index: 902;
                } */
                .div3:hover+.div2 {
                    z-index: 902;
                }
            </style>
        </head>
        <body>
            <div class="div1"></div>
            <div class="div3"></div>
            <div class="div2"></div>
        </body>
    </html>
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月15日
  • 已采纳回答 12月7日
  • 创建了问题 12月5日

悬赏问题

  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。