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


Posted in HTML / CSS onNovember 05, 2014

今天要分享的这款菜单是基于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. }  

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

HTML / CSS 相关文章推荐
CSS3 实用技巧:实现黑白图像效果示例代码
Jul 11 HTML / CSS
css3高级选择器使用方法
Dec 02 HTML / CSS
详解css3 Transition属性(平滑过渡菜单栏案例)
Sep 05 HTML / CSS
CSS3实现网站商品展示效果图
Jan 18 HTML / CSS
HTML5中如何显示视频呢 HTML5视频播放demo
Jun 08 HTML / CSS
html5实现微信打飞机游戏
Mar 27 HTML / CSS
HTML5中的autofocus(自动聚焦)属性介绍
Apr 23 HTML / CSS
HTML5中的音频和视频媒体播放元素小结
Jan 29 HTML / CSS
关于老式浏览器兼容HTML5和CSS3的问题
Jun 01 HTML / CSS
HTML5公共页面提取作为公用代码的方法
Jun 30 HTML / CSS
HTML5输入框下拉菜单功能的示例代码
Sep 08 HTML / CSS
移动端HTML5开发神器之vconsole详解
Dec 15 HTML / CSS
实例教程 纯CSS3打造非常炫的加载动画效果
Nov 05 #HTML / CSS
纯CSS3实现自定义Tooltip边框涂鸦风格的教程
Nov 05 #HTML / CSS
支持IE8的纯css3开发的响应式设计动画菜单教程
Nov 05 #HTML / CSS
一款利用纯css3实现的360度翻转按钮的实例教程
Nov 05 #HTML / CSS
css实例教程 一款纯css3实现的超炫动画背画特效
Nov 05 #HTML / CSS
一款纯css3实现的非常实用的鼠标悬停特效演示
Nov 05 #HTML / CSS
利用css3实现的简单的鼠标悬停按钮
Nov 04 #HTML / CSS
You might like
一些PHP写的小东西
2006/12/06 PHP
PHPUnit PHP测试框架安装方法
2011/03/23 PHP
php中用socket模拟http中post或者get提交数据的示例代码
2013/08/08 PHP
kohana框架上传文件验证规则写法示例
2014/07/14 PHP
JavaScript 编程引入命名空间的方法
2007/06/29 Javascript
大家未必知道的Js技巧收藏
2008/04/07 Javascript
利用jQuery接受和处理xml数据的代码(.net)
2011/03/28 Javascript
JS事件Event元素(兼容IE,Firefox,Chorme)
2012/11/01 Javascript
jquery怎样实现ajax联动框(一)
2013/03/08 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
2013/04/12 Javascript
jQuery判断一个元素是否可见的方法
2015/06/05 Javascript
JS实现鼠标滑过链接改变网页背景颜色的方法
2015/10/20 Javascript
javascript基础知识之html5轮播图实例讲解(44)
2017/02/17 Javascript
node.js中http模块和url模块的简单介绍
2017/10/06 Javascript
js控制随机数生成概率代码实例
2019/03/21 Javascript
layui实现下拉框三级联动
2019/07/26 Javascript
JavaScript实现点击自制菜单效果
2021/02/02 Javascript
[05:20]2018DOTA2亚洲邀请赛主赛事第三日战况回顾 LGD率先挺进胜者组决赛
2018/04/06 DOTA
python调用百度REST API实现语音识别
2018/08/30 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
2019/07/31 Python
PyTorch使用cpu加载模型运算方式
2020/01/13 Python
基于python实现获取网页图片过程解析
2020/05/11 Python
python函数中将变量名转换成字符串实例
2020/05/11 Python
python中数字是否为可变类型
2020/07/08 Python
在CentOS7下安装Python3教程解析
2020/07/09 Python
python两个list[]相加的实现方法
2020/09/23 Python
使用Python爬取Json数据的示例代码
2020/12/07 Python
雅萌 (YA-MAN) :日本美容家电领域的龙头企业
2017/05/12 全球购物
英文版网络工程师求职信
2013/10/28 职场文书
市场营销专业推荐信
2013/11/03 职场文书
股份转让协议书
2014/04/12 职场文书
我爱我校演讲稿
2014/05/21 职场文书
2014年污水处理厂工作总结
2014/12/19 职场文书
用Python生成会跳舞的美女
2022/01/18 Python
深入浅出讲解Java8函数式编程
2022/01/18 Java/Android
尝试使用Python爬取城市租房信息
2022/04/12 Python