Html5+Css3制作下拉菜单的三种方式


一、渐变式改变ol的高度

1.外部为ul标签,在每个li里嵌套一个ol列表
2.设置外部li左浮动,内部ol标签绝对定位,外部li标签相对定位
3.设置ol的高为0,溢出隐藏
4.外部li标签:hover 时,设置ol的高度,transition渐变

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title></title>
 6     <style>
 7         /*一、下拉菜单ol折叠*/
 8  *{margin: 0;padding: 0px}
 9  ul{
10  width: 200px;
11  height: 50px;
12  outline: 1px solid black;
13         }
14  ul li{
15  width: 50%;
16  height: 100%;
17  outline: 1px solid black;
18  text-align: center;
19  float: left;
20  line-height: 50px;
21  list-style: none;
22  background: green;
23         }
24  ul ol{
25  width: 100%;
26  height: 0;
27  transition: all linear 0.5s;
28  overflow: hidden;
29  outline: 1px solid black;
30         }
31  ul ol li{
32  width: 100%;
33  height: 50px;
34  text-align: left;
35  background: pink;
36  outline: 1px solid black;
37         }
38  ul ol li a{
39  color: black;
40  text-decoration: none;
41         }
42  ul li:hover ol{
43  height: 150px;
44  transition: all linear 1s;
45         }
46  ul ol li:hover{
47  background: yellow;
48         }
49 
50     </style>
51 </head>
52 <body>
53 <ul>
54     <li>帅哥 55         <ol>
56             <li><a href="#">罗晋</a></li>
57             <li><a href="#">刘志鹏</a></li>
58             <li><a href="#">周乐</a></li>
59         </ol>
60     </li>
61     <li>美女 62         <ol>
63             <li><a href="#">刘涛</a></li>
64             <li><a href="#">范冰冰</a></li>
65             <li><a href="#">刘诗诗</a></li>
66         </ol>
67     </li>
68 </ul>
69 </body>
70 </html>

 

二、渐变式改变ol 下li标签的高度,同第一种方法,设置li标签的高度为0,hover的时候设置一个高度  

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title></title>
 6     <style>
 7            /*二、下拉菜单li折叠*/
 8  *{margin: 0;padding: 0px}
 9  ul{
10  width: 200px;
11  height: 50px;
12  outline: 1px solid black;
13         }
14  ul li{
15  width: 50%;
16  height: 100%;
17  outline: 1px solid black;
18  text-align: center;
19  float: left;
20  line-height: 50px;
21  list-style: none;
22  background: green;
23         }
24  ul ol li{
25  width: 100%;
26             /*变化*/
27  height: 0;
28  text-align: left;
29  background: pink;
30  outline: 1px solid black;
31  transition: all linear 1s;
32  overflow:hidden;
33         }
34  ul ol li a{
35  color: black;
36  text-decoration: none;
37         }
38  ul li:hover ol li{
39  height: 50px; /*变化*/
40  transition: all linear 1s;
41         }
42  ul ol li:hover{
43  background: yellow;
44         }
45     </style>
46 </head>
47 <body>
48 <ul>
49     <li>帅哥 50         <ol>
51             <li><a href="#">罗晋</a></li>
52             <li><a href="#">刘志鹏</a></li>
53             <li><a href="#">周乐</a></li>
54         </ol>
55     </li>
56     <li>美女 57         <ol>
58             <li><a href="#">刘涛</a></li>
59             <li><a href="#">范冰冰</a></li>
60             <li><a href="#">刘诗诗</a></li>
61         </ol>
62     </li>
63 </ul>
64 </body>
65 </html>

 

三、挂面式下拉菜单  用display隐藏,设置block显示二级菜单

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title></title>
 6     <style>
 7         /*三、挂面式二级菜单*/
 8  *{margin: 0;padding: 0px}
 9  ul{
10  width: 200px;
11  height: 50px;
12  outline: 1px solid black;
13         }
14  ul li{
15  width: 50%;
16  height: 100%;
17  outline: 1px solid black;
18  text-align: center;
19  float: left;
20  line-height: 50px;
21  list-style: none;
22  background: green;
23         }
24  ul ol{
25  width: 100%;
26  height: 150px;
27  overflow: hidden;
28  outline: 1px solid black;
29  display: none;
30         }
31  ul ol li{
32  width: 100%;
33  height: 50px;
34  text-align: left;
35  background: pink;
36  outline: 1px solid black;
37         }
38  ul ol li a{
39  color: black;
40  text-decoration: none;
41         }
42  ul li:hover ol{
43  display: block;
44         }
45  ul ol li:hover{
46  background: yellow;
47         }
48 
49 
50     </style>
51 </head>
52 <body>
53 <ul>
54     <li>帅哥 55         <ol>
56             <li><a href="#">罗晋</a></li>
57             <li><a href="#">刘志鹏</a></li>
58             <li><a href="#">周乐</a></li>
59         </ol>
60     </li>
61     <li>美女 62         <ol>
63             <li><a href="#">刘涛</a></li>
64             <li><a href="#">范冰冰</a></li>
65             <li><a href="#">刘诗诗</a></li>
66         </ol>
67     </li>
68 </ul>
69 </body>
70 </html>

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM