心脏心脏 2021-09-13 12:51 采纳率: 66.7%
浏览 53
已结题

我想做一个鼠标进过下拉菜单,结果经过时出现了不可描述的问题如图。


<!DOCTYPE html>
<html lang="zh">
    <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">
        <title>测试</title>
    
        <style type="text/css">
*{
    list-style-type: none;
    margin: 0;
    padding: 0;
    transition: all .5s;
}
li{
    height: 42px;
    width: 150px;
}
a{
    display:block;
    width: 150px;
    height: 42px;
    color:#881715 ;
    text-decoration: none;
}
.nav{
    margin: 100px auto;
    text-align: center;
    line-height: 42px;
}
.mainli{
    width: 150px;
    display: inline-block;
}
.mainli ul {
    display: none;
}
.mainli ul li:hover {
    background-color: #9f9093;
    color: white;
}
.mainli a:hover{
    color: white;
    background-color: #9f9093;
}
        </style>
    </head>
    <body>
    <ul class="nav">
        <li class="mainli">
            <a href="">你好呀!!</a>
            <ul>
                <li>小震</li>
                <li>你好</li>
                <li>想吧</li>
            </ul>
        </li>
        <li class="mainli">
            <a href="">你好呀!!</a>
            <ul>
                <li>小震</li>
                <li>你好</li>
                <li>想吧</li>
            </ul>
        </li>
        <li class="mainli">
            <a href="">你好呀!!</a>
            <ul>
                <li>小震</li>
                <li>你好</li>
                <li>想吧</li>
            </ul>
        </li>
        <li class="mainli">
            <a href="">你好呀!!</a>
            <ul>
                <li>小震</li>
                <li>你好</li>
                <li>想吧</li>
            </ul>
        </li>
    </ul>
    <script>
        var nav =document.querySelector('.nav');
        var  lis=nav.children;
        console.log(lis);
        //设置鼠标经过事件
        for(var i=0;i<lis.length;i++){
            lis[i].onmouseover=function (){
                    this.children[1].style.display='inline-block';
            }
            lis[i].onmouseout=function (){
                 this.children[1].style.display='none';
             }

        }

    </script>
    </body>
</html>

img

  • 写回答

3条回答 默认 最新

  • 前端不释卷leo 前端领域新星创作者 2021-09-13 13:40
    关注

    首先,你所指的不可描述的问题是布局改变了吗?
    如果是,你可以将下拉菜单变成绝对定位,脱离文档流,不影响页面布局
    .mainli{
    width: 150px;
    display: inline-block;
    position:relative;
    }
    .mainli ul {
    display: none;
    position:absolute;
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 9月21日
  • 已采纳回答 9月13日
  • 创建了问题 9月13日

悬赏问题

  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 51单片机中C语言怎么做到下面类似的功能的函数(相关搜索:c语言)
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起