为了账号安全,请及时绑定邮箱和手机立即绑定

怎么实现下面的不会移位,能够正常显示?当鼠标经过显示出隐藏的内容后面的排版怎么全部乱了?怎么实现的必影响后面的内容排版?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <style type="text/css">
        *{ margin:0px; padding:0px;}
        body{ font-family:Verdana, Geneva, sans-serif; font-size:14px;}
        #nav{ width:600px; height:40px; background-color:#eee; margin:0 auto;}
        ul{ list-style:none;}
        ul li{ float:left; line-height:40px; text-align:center; width:100px;}
        a{ text-decoration:none; color:#000; display:block;}
        a:hover{ color:#F00; background-color:#666;}
        ul li ul li{ float:none;background-color:#eee; margin:2px 0px;}
        ul li ul{display:none;}
    </style>
    <script type="text/javascript">
        function showsub(li) {
            var subMenu = li.getElementsByTagName("ul")[0]  ;
            subMenu.style.display = " block ";
        }

        function hidesub(li) {
            var subMenu = li.getElementsByTagName("ul")[0];
            subMenu.style.display = " none ";
        }

    </script>
</head>

<body>
<div id="nav">
    <ul>
        <li><a href="#">首页</a></li>
        <li  onmouseover="showsub(this)" onmouseout="hidesub(this)"  ><a href="#">课程大厅</a>
            <ul>
                <li><a href="#">JavaScript</a></li>
                <li><a href="#">Html/CSS</a></li>
            </ul>
        </li>
        <li  onmouseover="showsub(this)" onmouseout="hidesub(this)"><a href="#">学习中心</a>
            <ul>
                <li><a href="#">视频学习</a></li>
                <li><a href="#">实例练习</a></li>
                <li><a href="#">问与答</a></li>
            </ul>

        </li>
        <li><a href="#">经典案例</a></li>
        <li><a href="#">关于我们</a></li>
    </ul>
    <div id="nav">
        <ul>
            <li><a href="#">首页</a></li>
            <li  onmouseover="showsub(this)" onmouseout="hidesub(this)"  ><a href="#">课程大厅</a>
                <ul>
                    <li><a href="#">JavaScript</a></li>
                    <li><a href="#">Html/CSS</a></li>
                </ul>
            </li>
            <li  onmouseover="showsub(this)" onmouseout="hidesub(this)"><a href="#">学习中心</a>
                <ul>
                    <li><a href="#">视频学习</a></li>
                    <li><a href="#">实例练习</a></li>
                    <li><a href="#">问与答</a></li>
                </ul>

            </li>
            <li><a href="#">经典案例</a></li>
            <li><a href="#">关于我们</a></li>
        </ul>
    </div>
</body>
</html>


正在回答

2 回答

看了一下这个代码,因为下拉菜单仍然处在标准文档流中,所以出现的时候仍然会占用标准文档流中的位置,所以出现时会影响到后面的内容,可以做以下的修改:

ul li{position:relative;float:left; line-height:40px; text-align:center; width:100px;}
ul li ul{display:none; position:absolute; top:40px; left:0;}


0 回复 有任何疑惑可以回复我~

当鼠标经过显示出隐藏的内容后面的排版怎么全部乱了?怎么实现的必影响后面的内容排版?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
形形色色的下拉菜单
  • 参与学习       106972    人
  • 解答问题       543    个

本教程从易到难,循循渐进,运用不同技术实现动态下拉菜单

进入课程

怎么实现下面的不会移位,能够正常显示?当鼠标经过显示出隐藏的内容后面的排版怎么全部乱了?怎么实现的必影响后面的内容排版?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信