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

热爱工作,投身事业,在这一过程中,抑制私心,陶冶人格,同时积累经验,提高能力。这样,才能获得周围人们的信任和尊敬。

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

1、下拉菜单的实现

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

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


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

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

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

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

3、下拉菜单的对齐方式

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

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

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

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

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

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

您可能有感兴趣的文章
css让页脚保持在底部位置的四种方案

Flex布局史上最简单使用语法教程

新的CSS 伪类函数 :is() 和 :where()示例详解

纯CSS打字动画的如何实现示例

CSS浮动引起的高度塌陷问题