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>
时间: 2024-10-13 22:50:58

Html5+Css3制作下拉菜单的三种方式的相关文章

二级下拉菜单的三种实现方法——CSS 、JS、 jQuery

直接用CSS的  hover实现 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>下拉菜单</title> <link rel="stylesheet" type="text/css" href="./css/style.css">

用纯css实现下拉菜单的几种方式

第一种:display:none和display:block切换 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 <style> 7 ul{ 8 list-style: none; 9 } 10 .nav>li{ 11 float

9.2 制作下拉菜单(1)

一.菜单的HTML结构 下面就来定义菜单的HTML结梅.思路是把整个菜单分为4组,每一组在平常状态时,只显示一级菜单项,当鼠标指针经过时,显示相应的子菜单.首先用ul和li定义出外层结构,然后在每个li项目中,使用dI定义一个菜单项,一级菜单文字定义为dt.子菜单的文字定义为dd.代码如下. 折叠展开XML/HTML 代码复制内容到剪贴板 <body> <ul id="menu"> <li> <dl> <dt><a hr

9.3 制作下拉菜单(2)

一.对子菜单项(dd)进行设置 设置子菜单项的样式分为3步. ① 首先对每个子菜单项,也就是dd元素进行常规设置,包括文字颜色.背景色等,代码如下. 折叠展开CSS 代码复制内容到剪贴板 /* 设置菜单项的dd */ #menu li dd { margin:0; padding:0; color: #fff; background: #47a; } ② 为了使最下面的dd的下端和dI的下侧padding之间有一条暗红色分割线,设置1像素的下边框,代码如下.它在视觉上与上面的分割线相呼应,同时也

制作下拉菜单(PopupList)

怎样判断是否应当使用下拉菜单 下拉菜单,就是将一系列的选项隐藏,通过单击某一个控件将会弹出一个包含这些选项的列表,在其中选择想要的选项.这样做不但可以节省屏幕空间,也可以让用户在进行选择时更加方便快捷. 下拉菜单本质上还是一个单选框,与Toggle的功能有一些类似,对于下拉菜单玩家必须选择一个选项(有一个默认的初始选项),在同一时间也只能选择一个选项(单选性质).在游戏开发过程中,如果碰到了以下特点的需求,就可以考虑用下拉菜单了. (1)有一系列选项需要玩家做出选择,这些选项是有限多的. (2)

jQuery+Superfish制作下拉菜单

superfish制作下拉菜单真的很方便而好很好用,而且还可以通过Superfish提供的参数来控制下拉菜单的不同效果,而且他没有层级限制,换句话说可以通过Superfish来写你想要的层级菜单. 官方帮助文档: http://users.tpg.com.au/j_birch/plugins/superfish/#getting-started Begin with a working pure CSS dropdown menu based on nested unordered lists.

如何为EXCEL单元格制作下拉菜单

如何为EXCEL中的某列制作下拉菜单 下面用两种方法介绍下拉菜单的实现: 第一种方法比较简单,如果下拉菜单更改的不频繁,可以采用:第二种方法更适合菜单更改频繁的情况. 注意:如果点击单元格时右侧没有出现下拉的按钮,可能是格式丢失,可以通过复制上面单元格的方法来修复. 如何制作下拉菜单(以下内容以EXCEL2007为准,版本不同可能造成操作步骤不同) A. 先做好一个表格,如下图: B. 选择需要制作下拉菜单的列中的第一行(如性别列中的第一行,非标题行),点击菜单中[数据]-[数据有效性]-[数据

利用CSS制作下拉菜单

利用CSS制作下拉菜单 1.定义一个div,给div一个id或class,给div一个样式. eg:<div id="menu"></div> /*css #menu{ width:1024px; //给div定义一个宽度 height:40px; //给div定义一个高度 margin:0 auto; //让div居中显示 background-color:#eee; //给div一个背景颜色 } */ 2.制作下拉菜单所需的无序列表(ul). eg:<

html 布局;css3+jq 下拉菜单;table分页动态添加行;html5本地存储;简单易用的html框架

简单好用的html框架,预览图见最后: 源码: 1.页面布局使用table: table 嵌套 +iframe 布局: 2.下拉菜单为jq+css3 动画; css input 无边框,select下拉菜单美化 1 input{appearance:none;background-color:transparent;border: solid 0px #000;} /*input 无边框*/ 2 input:disabled{background-color:#d2d2d2;border:0px