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

为什么二级ul下的两个li的宽度不一样

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>菜单效果</title>

    <style>

    *{

        margin:0;

        padding:0;

    }

        #nav{

            background-color: #eee;

            width:600px;

            height:40px;

            margin:0 auto;

        }

        ul{

            list-style: none;

        }

        ul li{

            /*width:90px;为了li的宽度自适应,需要将width属性删除,添加padding属性*/

            /*padding:0 10px; 虽然整个a标签都有背景色了,但是并不是整个li,因为在li中设置了padding,使得a标签的宽度为32px,加上左右各10px的padding等于li标签的宽度52px,所以把padding加在a标签中*/

            float:left;

            text-align: center;

            line-height: 40px;

            position: relative;/*使二级菜单的位置定位是相对于一级菜单的*/

        }

        a{

            text-decoration:none;

            color:black;

            display:block;/*想要整个li都有背景色,需要将a标签编程块元素*/

            padding:0 10px;

            height:40px; /*若不设置高度,在IE7浏览器中a的高度会变小*/

        }

        a:hover{

            color:#fff;

            background-color: #666;/*a标签是一个行内元素,设置背景色,只有文字的一小块有背景色*/


        }

        ul li ul li{  /*二级菜单,一级菜单的宽度会随着二级菜单宽度的增加而增加*/

            clear:both;  /*它会继承一级li的float属性,需要清除*/

            background-color: #eee;

            margin-top:2px;

        }

        ul li ul{

            position: absolute;  /*为了使一级菜单宽度不受二级菜单的影响*/

            top:40px;

            left: 0;

            display:none; /*刚开始的时候先隐藏*/

        } 

        ul li ul li a:hover{

            background-color: #06F;

        }

        ul li:hover ul{ /*当鼠标移动到一级ul的li上时,改变li下面的ul的样式*/

            display: block;

        }

    </style>

</head>

<body>

    <div id="nav">

        <ul>

            <li><a href="#">首页</a></li>

            <li><a href="#">课程大厅</a>

                <ul> <!--二级菜单-->

                    <li><a href="#">javascript</a></li>

                    <li><a href="#">jquery</a></li>

                </ul>

            </li>

            <li><a href="#">学习中心</a></li>

            <li><a href="#">经典案例</a></li>

            <li><a href="#">关于我们</a></li>

        </ul>

    </div>

</body>

</html>


正在回答

2 回答

因为你自始至终都没有设置过width啊,那就宽度就会被字体长度填充了

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

加一个样式 

ul li ul li {
    width: 100%;
}

就可以了。望采纳

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

举报

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

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

进入课程

为什么二级ul下的两个li的宽度不一样

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