音效素材网提供各类素材,打造精品素材网站!

站内导航 站长工具 投稿中心 手机访问

音效素材

一款CSS3实现多功能下拉菜单(带分享按)的教程
日期:2021-09-08 14:11:44   来源:脚本之家

  今天要分享的这款菜单是基于CSS3的下拉菜单,功能非常强大,下拉菜单中不仅拥有背景色渐变的菜单项,而且还带有分享按钮的菜单项,为了让菜单更加美观,每一个菜单项都带有非常漂亮的小图标,而且在下拉菜单中还有鼠标滑过缩进的动画特效。

一款CSS3实现多功能下拉菜单(带分享按)的教程

  接下来我们来具体解说一下实现这款CSS3下拉菜单原理和过程,代码主要是HTML和CSS。

  首先是HTML代码,主要是两部分,左侧的下拉菜单项和右侧的分享按钮菜单,分别用了一个ul li列表:

  HTML代码:

XML/HTML Code复制内容到剪贴板
  1. <ul class=”menu-function”>  
  2. <li>  
  3. <a href=”" title=”">CATEGORIES</a>  
  4. <ul class=”dropdown-menu categories”>  
  5. <li><a href=”" title=”">Design</a></li>  
  6. <li><a href=”" title=”">Freebies</a></li>  
  7. <li><a href=”" title=”">Tutorials</a></li>  
  8. <li><a href=”" title=”">Coding</a></li>  
  9. <li><a href=”" title=”">Inspiration</a></li>  
  10. <li><a href=”" title=”">WordPress</a></li>  
  11. <li><a href=”" title=”">Resources</a></li>  
  12. </ul>  
  13. </li>  
  14. <li><a href=”" title=”">SHOP</a></li>  
  15. <li id=”search”>  
  16. <a href=”#search” title=”">SEARCH</a>  
  17. </li>  
  18. <li id=”search-hidden”>  
  19. <input type=”text” name=”" id=”"><a href=”#search-hidden” title=”"></a>  
  20. </li>  
  21. </ul>  
  22. <ul class=”menu-share”>  
  23. <li>  
  24. <a href=”" title=”">FOLLOW US</a>  
  25. <ul class=”dropdown-menu follow”>  
  26. <li><a href=”" title=”">RSS</a></li>  
  27. <li><a href=”" title=”">Twitter</a></li>  
  28. <li><a href=”" title=”">Facebook</a></li>  
  29. <li><a href=”" title=”">Google+</a></li>  
  30. <li><a href=”" title=”">Dribbble</a></li>  
  31. </ul>  
  32. </li>  
  33. <li>  
  34. <a href=”" title=”">SHARE</a>  
  35. <ul class=”dropdown-menu share”>  
  36. <li><a href=”" title=”">Facebook</a></li>  
  37. <li><a href=”" title=”">Twitter</a></li>  
  38. <li><a href=”" title=”">Google+</a></li>  
  39. </ul>  
  40. </li>  
  41. </ul>  

  这个ul结构支撑了下拉菜单的基本骨架,应该还算普通。

  接下来是CSS3代码,是实现这款CSS3下拉菜单的关键:

  CSS3代码:

CSS Code复制内容到剪贴板
  1. .page-menu-wrapper > ul > li {   
  2. positionrelative;   
  3. floatleft;   
  4. border-left1px solid #3d61a2;   
  5. border-right1px solid #3d61a2;   
  6. margin-right: -1px;   
  7. }   
  8. .menu-function {   
  9. floatleft;   
  10. }   
  11. .menu-share {   
  12. floatrightright;   
  13. }   
  14. .page-menu-wrapper > .menu-function > li:first-child {   
  15. border-leftnone;   
  16. }   
  17. .page-menu-wrapper > .menu-share > li:last-child {   
  18. border-rightnone;   
  19. }   
  20. .page-menu-wrapper a {   
  21. positionrelative;   
  22. displayblock;   
  23. padding: 0 15px;   
  24. transition: all .3s ease-out;   
  25. }   
  26. .page-menu-wrapper > ul > li:hover > a {   
  27. color#3d61a2;   
  28. background-color#fff;   
  29. }   
  30. .page-menu-wrapper > ul > li:hover .dropdown-menu {   
  31. displayblock;   
  32. }   
  33. .dropdown-menu {   
  34. displaynone;   
  35. positionabsolute;   
  36. width260px;   
  37. font-size18px;   
  38. font-weightbold;   
  39. text-alignleft;   
  40. background-color#fff;   
  41. }   
  42. .dropdown-menu.categories a {   
  43. color#000;   
  44. }   
  45. .dropdown-menu.categories a:hover {   
  46. color#5bc4be;   
  47. margin-left10px;   
  48. }   
  49. #search:target a[href="#search"] {   
  50. displaynone;   
  51. }   
  52. #search:target ~ #search-hidden {   
  53. displayblock;   
  54. }   
  55. #search-hidden {   
  56. displaynone;   
  57. padding: 0 5px;   
  58. background-color#fff;   
  59. }   
  60. #search-hidden input {   
  61. bordernone;   
  62. line-height24px;   
  63. width180px;   
  64. }   
  65. #search-hidden a {   
  66. floatrightright;   
  67. padding: 0;   
  68. width20px;   
  69. height45px;   
  70. }   
  71. #search-hidden a:before {   
  72. content: “\7d”;   
  73. left: 0;   
  74. color#446cb3;   
  75. }   
  76. .menu-function > li > a,.menu-share > li > a {   
  77. padding-left40px;   
  78. }   
  79. .page-menu-wrapper a:before {   
  80. positionabsolute;   
  81. left15px;   
  82. font-family: ‘icomoon’;   
  83. font-stylenormal;   
  84. speaknone;   
  85. font-weightnormal;   
  86. font-smoothing: antialiased;   
  87. font-size18px;   
  88. vertical-alignmiddle;   
  89. }   
  90. .menu-function > li:nth-child(1) > a:before {   
  91. content: “\e048″;   
  92. }   
  93. .menu-function > li:nth-child(2) > a:before {   
  94. content: “\3b”;   
  95. }   
  96. .menu-function > li:nth-child(3) > a:before {   
  97. content: “\7d”;   
  98. }   
  99. .menu-share > li:nth-child(1) > a:before {   
  100. content: “\e0a2″;   
  101. }   
  102. .menu-share > li:nth-child(2) > a:before {   
  103. content: “\e05b”;   
  104. }   
  105. /*follow*/  
  106. .dropdown-menu.follow {   
  107. width223px;   
  108. }   
  109. .dropdown-menu.follow a {   
  110. padding-left35px;   
  111. font-size14px;   
  112. }   
  113. .dropdown-menu.follow a:before {   
  114. left10px;   
  115. }   
  116. .dropdown-menu.follow li:nth-child(1) a:before {   
  117. content: “\e0a5″;   
  118. }   
  119. .dropdown-menu.follow li:nth-child(2) a:before {   
  120. content: “\e0a2″;   
  121. }   
  122. .dropdown-menu.follow li:nth-child(3) a:before {   
  123. content: “\e04c”;   
  124. }   
  125. .dropdown-menu.follow li:nth-child(4) a:before {   
  126. content: “\e022″;   
  127. }   
  128. .dropdown-menu.follow li:nth-child(5) a:before {   
  129. content: “\e03d”;   
  130. }   
  131. .dropdown-menu.follow li:nth-child(1) a {   
  132. color#ffaa31;   
  133. }   
  134. .dropdown-menu.follow li:nth-child(2) a {   
  135. color#07beed;   
  136. }   
  137. .dropdown-menu.follow li:nth-child(3) a {   
  138. color#314d91;   
  139. }   
  140. .dropdown-menu.follow li:nth-child(4) a {   
  141. color#2d2d2d;   
  142. }   
  143. .dropdown-menu.follow li:nth-child(5) a {   
  144. color#e84788;   
  145. }   
  146. .dropdown-menu.follow li:nth-child(1):hover {   
  147. background-color#ffaa31;   
  148. }   
  149. .dropdown-menu.follow li:nth-child(2):hover {   
  150. background-color#07beed;   
  151. }   
  152. .dropdown-menu.follow li:nth-child(3):hover {   
  153. background-color#314d91;   
  154. }   
  155. .dropdown-menu.follow li:nth-child(4):hover {   
  156. background-color#2d2d2d;   
  157. }   
  158. .dropdown-menu.follow li:nth-child(5):hover {   
  159. background-color#e84788;   
  160. }   
  161. .dropdown-menu.follow li:hover a {   
  162. color#fff;   
  163. margin-left10px;   
  164. }   
  165. .dropdown-menu.share {   
  166. width120px;   
  167. rightright:0;   
  168. }   
  169. .dropdown-menu.share a {   
  170. margin10px;   
  171. line-height26px;   
  172. font-size12px;   
  173. padding-left20px;   
  174. border1px solid #cbcbcb;   
  175. border-radius: 2px;   
  176. color#4c4c4c;   
  177. background-color#efefef;   
  178. }   
  179. .dropdown-menu.share a:hover {   
  180. background-color#fff;   
  181. }   
  182. .dropdown-menu.share li a:before {   
  183. font-size12px;   
  184. left5px;   
  185. }   
  186. .dropdown-menu.share li:nth-child(1) a:before {   
  187. content: “\e04c”;   
  188. color#314d91;   
  189. }   
  190. .dropdown-menu.share li:nth-child(2) a:before {   
  191. content: “\e0a2″;   
  192. color#07beed;   
  193. }   
  194. .dropdown-menu.share li:nth-child(3) a:before {   
  195. content: “\e022″;   
  196. color#2d2d2d;   
  197. }   
  198. @font-face {   
  199. font-family: ‘icomoon’;   
  200. src:url(‘fonts/icomoon.eot’);   
  201. src:url(‘fonts/icomoon.eot?#iefix’) format(‘embedded-opentype’),   
  202. url(‘fonts/icomoon.svg#icomoon’) format(‘svg’),   
  203. url(‘fonts/icomoon.woff’) format(‘woff’),   
  204. url(‘fonts/icomoon.ttf’) format(‘truetype’);   
  205. font-weightnormal;   
  206. font-stylenormal;   
  207. }  

  这个代码比较复杂,建议下载源码研究。谢谢阅读,希望能帮到大家,请继续关注,我们会努力分享更多优秀的文章。

    您感兴趣的教程

    在docker中安装mysql详解

    本篇文章主要介绍了在docker中安装mysql详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编...

    详解 安装 docker mysql

    win10中文输入法仅在桌面显示怎么办?

    win10中文输入法仅在桌面显示怎么办?

    win10系统使用搜狗,QQ输入法只有在显示桌面的时候才出来,在使用其他程序输入框里面却只能输入字母数字,win10中...

    win10 中文输入法

    一分钟掌握linux系统目录结构

    这篇文章主要介绍了linux系统目录结构,通过结构图和多张表格了解linux系统目录结构,感兴趣的小伙伴们可以参考一...

    结构 目录 系统 linux

    PHP程序员玩转Linux系列 Linux和Windows安装

    这篇文章主要为大家详细介绍了PHP程序员玩转Linux系列文章,Linux和Windows安装nginx教程,具有一定的参考价值,感兴趣...

    玩转 程序员 安装 系列 PHP

    win10怎么安装杜比音效Doby V4.1 win10安装杜

    第四代杜比®家庭影院®技术包含了一整套协同工作的技术,让PC 发出清晰的环绕声同时第四代杜比家庭影院技术...

    win10杜比音效

    纯CSS实现iOS风格打开关闭选择框功能

    这篇文章主要介绍了纯CSS实现iOS风格打开关闭选择框,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作...

    css ios c

    Win7如何给C盘扩容 Win7系统电脑C盘扩容的办法

    Win7如何给C盘扩容 Win7系统电脑C盘扩容的

    Win7给电脑C盘扩容的办法大家知道吗?当系统分区C盘空间不足时,就需要给它扩容了,如果不管,C盘没有足够的空间...

    Win7 C盘 扩容

    百度推广竞品词的投放策略

    SEM是基于关键词搜索的营销活动。作为推广人员,我们所做的工作,就是打理成千上万的关键词,关注它们的质量度...

    百度推广 竞品词

    Visual Studio Code(vscode) git的使用教程

    这篇文章主要介绍了详解Visual Studio Code(vscode) git的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。...

    教程 Studio Visual Code git

    七牛云储存创始人分享七牛的创立故事与

    这篇文章主要介绍了七牛云储存创始人分享七牛的创立故事与对Go语言的应用,七牛选用Go语言这门新兴的编程语言进行...

    七牛 Go语言

    Win10预览版Mobile 10547即将发布 9月19日上午

    微软副总裁Gabriel Aul的Twitter透露了 Win10 Mobile预览版10536即将发布,他表示该版本已进入内部慢速版阶段,发布时间目...

    Win10 预览版

    HTML标签meta总结,HTML5 head meta 属性整理

    移动前端开发中添加一些webkit专属的HTML5头部标签,帮助浏览器更好解析HTML代码,更好地将移动web前端页面表现出来...

    移动端html5模拟长按事件的实现方法

    这篇文章主要介绍了移动端html5模拟长按事件的实现方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家...

    移动端 html5 长按

    HTML常用meta大全(推荐)

    这篇文章主要介绍了HTML常用meta大全(推荐),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参...

    cdr怎么把图片转换成位图? cdr图片转换为位图的教程

    cdr怎么把图片转换成位图? cdr图片转换为

    cdr怎么把图片转换成位图?cdr中插入的图片想要转换成位图,该怎么转换呢?下面我们就来看看cdr图片转换为位图的...

    cdr 图片 位图

    win10系统怎么录屏?win10系统自带录屏详细教程

    win10系统怎么录屏?win10系统自带录屏详细

    当我们是使用win10系统的时候,想要录制电脑上的画面,这时候有人会想到下个第三方软件,其实可以用电脑上的自带...

    win10 系统自带录屏 详细教程

    + 更多教程 +
    教程标签
    HTMLCSSDreamweaverFrontpage