网页制作 
首页 > 网页制作 > 浏览文章

你值得拥有的CSS下拉菜单效果

(编辑:jimmy 日期: 2024/11/19 浏览:3 次 )

使用 CSS 可以创建一个鼠标移入后显示下拉菜单的效果。

1、下拉菜单的实现

当鼠标移入指定元素时,显示下拉菜单。代码如下:

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4.     <meta charset="UTF-8">  
  5.     <title>简单的下拉菜单</title>  
  6. <style>  
  7. .dropdown{   
  8.     position:relative;   
  9.     display:inline-block;   
  10. }   
  11.   
  12. .dropdown-content{   
  13.     min-width:200px;   
  14.     border:1px solid black;   
  15.     position:absolute;   
  16.     display:none;   
  17. }   
  18.   
  19. .dropdown:hover .dropdown-content{   
  20.     display:block;   
  21. }   
  22. </style>  
  23. </head>  
  24. <body>  
  25. <div class="dropdown">  
  26.     <span>鼠标你过来,我为你展示下拉菜单。</span>  
  27.     <div class="dropdown-content">  
  28.         <p>下拉菜单 1</p>  
  29.         <p>下拉菜单 2</p>  
  30.     </div>  
  31. </div>  
  32. </body>  
  33. </html>  

实例解析:

  HTML 部分:

    可以使用任何 HTML 元素来打开下拉菜单,比如 <span>,或 <a>、<button> 等元素。

    然后,使用 <div> 元素来创建一个容器,用于包含下拉菜单的内容,并自定义他需要出现的位置。

    最后,再使用 <div> 元素来包裹这些元素,并使用 CSS 来设置下拉内容的样式。

  CSS 部分:

    .dropdown 类使用 position:relative,这将设置下拉菜单的内容放置在下拉按钮(使用 position:absolute)的右下角位置。

    .dropdown-content 类中是实际的下拉菜单。默认是隐藏的,在鼠标移入指定元素后显示。

    注意:在上面的例子中,下拉菜单容器的宽度设置为最小 200px,根据实际情况可以自行定义。

    如果希望下拉菜单与下拉按钮的宽度一致,可将宽度设置为 100%,overflow:auto 属性可以指定在小尺寸屏幕上滚动。

    :hover 选择器用于在用户将鼠标移动到下拉按钮上时显示下拉菜单,将下拉菜单容器设置为 display:block;

2、创建下拉菜单

  在上面例子的基础上,创建一个下拉菜单,并允许用户选取列表中的某一项目。

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4.     <meta charset="UTF-8">  
  5.     <title>下拉菜单实例</title>  
  6. <style>  
  7. /* 容器 <div> - 需要定位下拉内容 */   
  8. .dropdown{   
  9.     position:relative;   
  10.     display:inline-block;   
  11. }   
  12.   
  13. /* 下拉菜单内容,设置为隐藏 */   
  14. .dropdown-content{   
  15.     min-width:150px;   
  16.     background-color:#F5F5F5;   
  17.     position:absolute;   
  18.     display:none;   
  19.     box-shadow:0px 8px 15px 0px rgba(0,0,0,0.2);   
  20. }   
  21.   
  22. /* 下拉按钮样式 */   
  23. .dropbtn{   
  24.     color:white;   
  25.     font-size:16px;   
  26.     padding:15px;   
  27.     border:none;   
  28.     background-color:#00CD66;   
  29.     cursor:pointer;   
  30. }   
  31.   
  32. /* 下拉菜单链接的样式 */   
  33. .dropdown-content a{   
  34.     color:black;   
  35.     text-decoration:none;   
  36.     padding:12px 15px;   
  37.     display:block;   
  38. }   
  39.   
  40. /* 鼠标移入后显示下拉菜单 */   
  41. .dropdown:hover .dropdown-content{   
  42.     display:block;   
  43. }   
  44.   
  45. /* 鼠标移入后修改链接的背景色 */   
  46. .dropdown-content a:hover{   
  47.     background-color:#E8E8E8;   
  48. }   
  49.   
  50. /* 下拉菜单显示后修改下拉按钮的背景色 */   
  51. .dropdown:hover .dropbtn{   
  52.     background-color:#008B00;   
  53. }   
  54. </style>  
  55. </head>  
  56. <body>  
  57. <div class="dropdown">  
  58.     <button type="button" class="dropbtn">下拉菜单按钮</button>  
  59.     <div class="dropdown-content">  
  60.         <a href="#">下拉菜单项 1</a>  
  61.         <a href="#">下拉菜单项 2</a>  
  62.         <a href="#">下拉菜单项 3</a>  
  63.     </div>  
  64. </div>  
  65. </body>  
  66. </html>  


  在 Chrome 中当鼠标移入下拉菜单按钮时显示如下:

你值得拥有的CSS下拉菜单效果

  在上面的例子中,下拉菜单的内容设置了 box-shadow 属性,这个属性主要用于添加阴影,这样下拉菜单看起来就像一个“卡片”一样。该属性指定下拉菜单在水平方向阴影为 0,垂直方向为 8 像素的阴影,模糊距离为 15 像素,阴影的尺寸为 0,并指定阴影的颜色为黑色,且透明度为 0.2。

  下拉菜单按钮使用了 cursor 属性,该属性主要用于指定鼠标光标的类型,即鼠标指针放在一个元素边界范围内时所用的光标形状。

  下表列出了该属性所有的值: 鼠标可移入对应的属性值,查看光标的形状。

你值得拥有的CSS下拉菜单效果

3、下拉菜单的对齐方式

  如果下拉菜单设置了 float:left 样式,那么还需要设置 left:0,即从 left:0 处开始从左向右显示菜单内容,否则会超出浏览器左边窗口。

  如果下拉菜单设置了 float:right 样式,默认都是从左向右显示,菜单内容则会超出浏览器右边窗口,所以还需要设置 right:0,让下拉菜单内容从右向左。

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4.     <meta charset="UTF-8">  
  5.     <title>下拉菜单对齐</title>  
  6. <style>  
  7. /* 容器 <div> - 需要定位下拉内容 */   
  8. .dropdown{   
  9.     position:relative;   
  10.     display:inline-block;   
  11. }   
  12.   
  13. /* 下拉菜单内容,设置为隐藏 */   
  14. .dropdown-content{   
  15.     min-width:150px;   
  16.     background-color:#F5F5F5;   
  17.     position:absolute;   
  18.     right:0;   
  19.     display:none;   
  20.     box-shadow:0px 8px 15px 0px rgba(0,0,0,0.2);   
  21. }   
  22.   
  23. /* 下拉按钮样式 */   
  24. .dropbtn{   
  25.     color:white;   
  26.     font-size:16px;   
  27.     padding:15px;   
  28.     border:none;   
  29.     background-color:#00CD66;   
  30.     cursor:pointer;   
  31. }   
  32.   
  33. /* 下拉菜单链接的样式 */   
  34. .dropdown-content a{   
  35.     color:black;   
  36.     text-decoration:none;   
  37.     padding:12px 15px;   
  38.     display:block;   
  39. }   
  40.   
  41. /* 鼠标移入后显示下拉菜单 */   
  42. .dropdown:hover .dropdown-content{   
  43.     display:block;   
  44. }   
  45.   
  46. /* 鼠标移入后修改链接的背景色 */   
  47. .dropdown-content a:hover{   
  48.     background-color:#E8E8E8;   
  49. }   
  50.   
  51. /* 下拉菜单显示后修改下拉按钮的背景色 */   
  52. .dropdown:hover .dropbtn{   
  53.     background-color:#008B00;   
  54. }   
  55. </style>  
  56. </head>  
  57. <body>  
  58. <div class="dropdown" style="float:left;">  
  59.     <button type="button" class="dropbtn">左</button>  
  60.     <div class="dropdown-content" style="left:0;">  
  61.         <a href="#">下拉菜单项 1</a>  
  62.         <a href="#">下拉菜单项 2</a>  
  63.         <a href="#">下拉菜单项 3</a>  
  64.     </div>  
  65. </div>  
  66.   
  67. <div class="dropdown" style="float:right;">  
  68.     <button type="button" class="dropbtn">右</button>  
  69.     <div class="dropdown-content">  
  70.         <a href="#">下拉菜单项 1</a>  
  71.         <a href="#">下拉菜单项 2</a>  
  72.         <a href="#">下拉菜单项 3</a>  
  73.     </div>  
  74. </div>  
  75. </body>  
  76. </html>  
  77.   

  在 Chrome 中当鼠标移入右下拉按钮时显示如下:

你值得拥有的CSS下拉菜单效果

以上就是本文的全部内容,希望对大家的学习有所帮助。

原文:http://www.cnblogs.com/Mtime/p/5265793.html

上一篇:CSS利用伪元素实现导航栏斜线分隔
下一篇:使用div+CSS将页脚始终控制在页面最下方的方法
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?