CSS实现的大型导航下拉菜单

冷不防 2023-10-06 23:49 88阅读 0赞

阅读目录

  • 阐述
    • HTML结构
    • CSS
  • 预览

阐述

这是一款纯 CSS 实现的大型导航下拉菜单。

该大型菜单使用 HTML 和纯 CSS 代码制作,没有任何 js 代码,不依赖任意第三方插件。
适合用于栏目分类较多的大型网站使用。

HTML结构

该大型菜单的HTML结构如下:

  1. <nav>
  2. <ul class="container ul-reset">
  3. <li><a href='#'>Home</a></li>
  4. <li class='droppable'>
  5. <a href='#'>Category One</a>
  6. <div class='mega-menu'>
  7. <div class="container cf">
  8. <ul class="ul-reset">
  9. <h3>Heading 1</h3>
  10. <li><a href='#'>Category One Sublink</a></li>
  11. <li><a href='#'>Category One Sublink</a></li>
  12. <li><a href='#'>Category One Sublink</a></li>
  13. <li><a href='#'>Category One Sublink</a></li>
  14. <li><a href='#'>Category One Sublink</a></li>
  15. </ul><!-- .ul-reset -->
  16. <ul class="ul-reset">
  17. <h3>Heading 2</h3>
  18. <li><a href='#'>Category One Sublink</a></li>
  19. <li><a href='#'>Category One Sublink</a></li>
  20. <li><a href='#'>Category One Sublink</a></li>
  21. <li><a href='#'>Category One Sublink</a></li>
  22. <li><a href='#'>Category One Sublink</a></li>
  23. </ul><!-- .ul-reset -->
  24. <ul class="ul-reset">
  25. <h3>Heading 3</h3>
  26. <li><a href='#'>Category One Sublink</a></li>
  27. <li><a href='#'>Category One Sublink</a></li>
  28. <li><a href='#'>Category One Sublink</a></li>
  29. <li><a href='#'>Category One Sublink</a></li>
  30. <li><a href='#'>Category One Sublink</a></li>
  31. </ul><!-- .ul-reset -->
  32. <ul class="ul-reset">
  33. <h3>Heading 4</h3>
  34. <li><img src="http://placehold.it/205x172"></li>
  35. </ul>
  36. </div><!-- .container -->
  37. </div><!-- .mega-menu -->
  38. </li><!-- .droppable -->
  39. <li class='droppable'>
  40. <a href='#'>Category Two</a>
  41. <div class='mega-menu'>
  42. <div class="container cf">
  43. <ul class="ul-reset">
  44. <h3>Heading 1</h3>
  45. <li><a href='#'>Category Two Sublink</a></li>
  46. <li><a href='#'>Category Two Sublink</a></li>
  47. <li><a href='#'>Category Two Sublink</a></li>
  48. <li><a href='#'>Category Two Sublink</a></li>
  49. <li><a href='#'>Category Two Sublink</a></li>
  50. </ul><!-- .ul-reset -->
  51. <ul class="ul-reset">
  52. <h3>Heading 2</h3>
  53. <li><a href='#'>Category Two Sublink</a></li>
  54. <li><a href='#'>Category Two Sublink</a></li>
  55. <li><a href='#'>Category Two Sublink</a></li>
  56. <li><a href='#'>Category Two Sublink</a></li>
  57. <li><a href='#'>Category Two Sublink</a></li>
  58. </ul><!-- .ul-reset -->
  59. <ul class="ul-reset">
  60. <h3>Heading 3</h3>
  61. <li><a href='#'>Category Two Sublink</a></li>
  62. <li><a href='#'>Category Two Sublink</a></li>
  63. <li><a href='#'>Category Two Sublink</a></li>
  64. <li><a href='#'>Category Two Sublink</a></li>
  65. <li><a href='#'>Category Two Sublink</a></li>
  66. </ul><!-- .ul-reset -->
  67. <ul class="ul-reset">
  68. <h3>Heading 4</h3>
  69. <li><a href='#'>Category Two Sublink</a></li>
  70. <li><a href='#'>Category Two Sublink</a></li>
  71. <li><a href='#'>Category Two Sublink</a></li>
  72. <li><a href='#'>Category Two Sublink</a></li>
  73. <li><a href='#'>Category Two Sublink</a></li>
  74. </ul><!-- .ul-reset -->
  75. </div><!-- .container -->
  76. </div><!-- .mega-menu-->
  77. </li><!-- .droppable -->
  78. <li><a href='#'>Category Three</a></li>
  79. <li><a href='#'>Category Four</a></li>
  80. <li><a href='#'>Category Five</a></li>
  81. <li><a href='#'>Category Six</a></li>
  82. </ul><!-- .container .ul-reset -->
  83. </nav>

CSS

为该大型菜单添加下面的CSS样式:

  1. /* #Resets
  2. –––––––––––––––––––––––––––––––––––––––––––––––––– */
  3. html {
  4. box-sizing: border-box;}
  5. *, *:before, *:after {
  6. box-sizing: inherit; }
  7. /* #Universal and Default Styles
  8. –––––––––––––––––––––––––––––––––––––––––––––––––– */
  9. body {
  10. background: url(../img/black-wood-small.jpg);
  11. color: #ddd;
  12. font-family: "Open Sans", sans-serif;
  13. font-size: 14px;
  14. line-height: 1;
  15. margin: 0;
  16. padding: 0;
  17. text-align: center;
  18. }
  19. a {
  20. text-decoration: none;}
  21. h1 {
  22. font-size: 40px;
  23. font-weight: 700;
  24. margin-bottom: 20px;
  25. margin-top: 20px;
  26. }
  27. h2 {
  28. font-size: 15px;
  29. font-weight: 600;
  30. margin-bottom: 30px;
  31. margin-top: 10px;
  32. }
  33. .container {
  34. margin: auto;
  35. width: 940px;
  36. }
  37. .ul-reset {
  38. padding-left: 0;
  39. margin-top: 0;
  40. margin-bottom: 0;
  41. list-style: none;
  42. }
  43. /* #Navigation Styles
  44. –––––––––––––––––––––––––––––––––––––––––––––––––– */
  45. nav {
  46. background: #424242;
  47. font-size: 0;
  48. position: relative;
  49. }
  50. nav > ul > li {
  51. display: inline-block;
  52. font-size: 14px;
  53. padding: 0 15px;
  54. position: relative;
  55. }
  56. nav > ul > li:first-child {
  57. padding-left: 0;}
  58. nav > ul > li:last-child {
  59. padding-right: 0;}
  60. nav > ul > li > a {
  61. color: #fff;
  62. display: block;
  63. position: relative;
  64. padding: 20px 0;
  65. border-bottom: 3px solid transparent;
  66. }
  67. nav > ul > li:hover > a {
  68. color: #69aae0;
  69. border-bottom: 3px solid #69aae0;
  70. }
  71. /* #Mega Menu Styles
  72. –––––––––––––––––––––––––––––––––––––––––––––––––– */
  73. .mega-menu {
  74. background: #f0f0f0;
  75. display: none;
  76. left: 0;
  77. position: absolute;
  78. text-align: left;
  79. width: 100%;
  80. }
  81. .mega-menu h3 {
  82. color: #444;}
  83. .mega-menu ul {
  84. float: left;
  85. margin-bottom: 20px;
  86. margin-right: 40px;
  87. width: 205px;
  88. }
  89. .mega-menu ul:last-child {
  90. margin-right: 0;}
  91. .mega-menu a {
  92. border-bottom: 1px solid #ddd;
  93. color: #4ea3d8;
  94. display: block;
  95. padding: 10px 0;
  96. }
  97. .mega-menu a:hover {
  98. color: #2d6a91;}
  99. /* #Droppable Class Styles
  100. –––––––––––––––––––––––––––––––––––––––––––––––––– */
  101. .droppable {
  102. position: static;}
  103. .droppable > a:after {
  104. content: "\f107";
  105. font-family: FontAwesome;
  106. font-size: 12px;
  107. padding-left: 6px;
  108. position: relative;
  109. top: -1px;
  110. }
  111. .droppable:hover .mega-menu {
  112. display: block;}
  113. /* #Browser Clearfix
  114. –––––––––––––––––––––––––––––––––––––––––––––––––– */
  115. .cf:before,
  116. .cf:after {
  117. content: " "; /* 1 */
  118. display: table; /* 2 */
  119. }
  120. .cf:after {
  121. clear: both;}

预览

在这里插入图片描述

在这里插入图片描述
完整代码去资源下载:CSS实现的大型导航下拉菜单

发表评论

表情:
评论列表 (有 0 条评论,88人围观)

还没有评论,来说两句吧...

相关阅读