我没用老师的那个padding方法 我自己给li设置了一个宽度 这样可行吗
*{
list-style:none; /*去掉li前边的小点*/
padding:0 0 0 0; /*浏览器默认有margin和padding的值 取消掉页面上的默认边距就没有了*/
margin:0 0 0 0;
}
a{
text-decoration:none; color:#000; /*把a标签的默认样式改了*/
display:block; /*变成块级元素 这样就会显示一个竖行的背景*/
width:92px; /*没有用老师的padding方法 自己定了一个宽度*/
}
a:hover{
color:red; /*鼠标移上去变成红色*/
background:#666;
}
.nav{
height:40px;
width:552px;
background:#eee;
margin:0 auto; /*让div在页面水平居中*/
text-align:center; /*让文字在li中居中*/
}
.nav>ul>li{
float:left;
height:40px;
/*padding:0 30px; 不设置宽度 这样元素超过宽度也不会自动换行到下一行*/
line-height:40px;
/*position:relative; 进行相对定位 取消了好像也没事*/
}
.nav>ul{
margin:0 0 0 0;
padding:0;
}
.nav>ul>li>ul>li{
background:#eee;
display:none; /*设置2级菜单隐藏*/
}
.nav>ul>li>ul{
/*position:absolute; 进行绝对定位*/
}
.nav>ul>li>ul>li>a:hover{ /*设置二级菜单的样式*/
background:#06f;
}
.nav ul li:hover li{
display:block; /*设置2级菜单鼠标移上去显示*/
}<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" type="text/css" href="style.css" /> <script type="text/javascript" src="script.js"></script> </head> <body> <div class="nav"> <ul> <li><a href="#">首页</a> <li><a href="#">首页</a> <ul> <li><a href="#">javaScript</a></li> <li><a href="#">jQuery</a></li> </ul> </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>
没用padding方法 直接给a了一个宽度 这样也没用绝对定位和相对定位 直接二级菜单就在一级菜单下面了 真正项目中一般是padding来设置宽度还是直接把宽度定死 但是把宽度定死不好就是 内容长度不能超过宽度 要不会自动换行到下一行。