这次我们要来分享一款很特别的CSS3菜单,菜单的外观是飘带状的,并且每一个菜单项有一个精美的小图标,鼠标滑过菜单项时,菜单项就会向上凸起,像是飘带飘动一样,形成非常酷的3D视觉效果。这款CSS3飘带状3D菜单非常适合作一些活动页面的菜单导航。

在线预览   源码下载

实现的代码。

htmll代码:

  1. <nav>
  2. <menu>
  3. <li><a href="#"><span>t</span> <span>twitter</span> </a></li>
  4. <li id="at"><a href="#"><span>c</span> <span>codepen</span> </a></li>
  5. <li><a href="#"><span>d</span> <span>dribbble</span> </a></li>
  6. <li><a href="#"><span>g</span> <span>google+</span> </a></li>
  7. </menu>
  8. <div class="ribbon left">
  9. </div>
  10. <div class="ribbon right">
  11. </div>
  12. </nav>

css代码:

  1. *
  2. {
  3. padding: 0;
  4. margin: 0;
  5. border: 0;
  6. }
  7. *:after, *:before
  8. {
  9. display: block;
  10. content: "";
  11. position: absolute;
  12. }
  13. body
  14. {
  15. #3d332a;
  16. background-image: url('9690bg.jpg');
  17. padding-top: 50px;
  18. }
  19. nav
  20. {
  21. width: 476px;
  22. margin: auto;
  23. position: relative;
  24. }
  25. menu:after, menu:before
  26. {
  27. top: 0;
  28. width: 60px;
  29. height: 76px;
  30. background: #eae2d5;
  31. }
  32. menu:after
  33. {
  34. clear: both;
  35. right: -61px;
  36. border-right: 1px solid #857e74;
  37. }
  38. menu:before
  39. {
  40. left: -55px;
  41. border-left: 1px solid #857e74;
  42. }
  43. .ribbon
  44. {
  45. position: absolute;
  46. top: 76px;
  47. border-style: solid;
  48. border-width: 13px;
  49. }
  50. .ribbon.left
  51. {
  52. left: -55px;
  53. border-color: #857e74 #857e74 transparent transparent;
  54. }
  55. .ribbon.right
  56. {
  57. left: 511px;
  58. border-color: #857e74 transparent transparent #857e74;
  59. }
  60. .left:after, .left:before
  61. {
  62. left: -68px;
  63. border-style: solid;
  64. z-index: -2;
  65. }
  66. .left:after
  67. {
  68. top: -68px;
  69. border-width: 58px 0 0 56px;
  70. border-color: #eae2d5 transparent transparent transparent;
  71. }
  72. .left:before
  73. {
  74. top: -26px;
  75. border-width: 0 40px 38px 41px;
  76. border-color: transparent transparent #eae2d5 transparent;
  77. }
  78. .right:after, .right:before
  79. {
  80. right: -65px;
  81. border-style: solid;
  82. z-index: -2;
  83. }
  84. .right:before
  85. {
  86. top: -25px;
  87. border-width: 0 40px 38px 38px;
  88. border-color: transparent transparent #eae2d5 transparent;
  89. }
  90. .right:after
  91. {
  92. top: -65px;
  93. border-width: 58px 56px 0 0;
  94. border-color: #eae2d5 transparent transparent transparent;
  95. }
  96. li
  97. {
  98. float: left;
  99. position: relative;
  100. margin-left: 33px;
  101. cursor: pointer;
  102. #eae2d5;
  103. list-style-type: none;
  104. border-left: 2px solid #d7cfc2;
  105. border-right: 2px solid #d7cfc2;
  106. transition: margin .1s ,padding .1s ,border 1s;
  107. }
  108. li:first-child
  109. {
  110. margin-left: 20px;
  111. }
  112. li:before, li:after
  113. {
  114. display: block;
  115. position: absolute;
  116. top: 0;
  117. width: 20px;
  118. height: 100%;
  119. background: inherit;
  120. transition: all .1s;
  121. }
  122. li:before
  123. {
  124. right: 100%;
  125. }
  126. li:after
  127. {
  128. left: 100%;
  129. }
  130. li:hover
  131. {
  132. margin-top: -9px;
  133. box-shadow: 0 4px 10px 0px #000;
  134. transition: margin .2s ,padding .2s;
  135. }
  136. li:hover:before, li:hover:after
  137. {
  138. height: 86%;
  139. background: #d7cfc2;
  140. transition: all .2s;
  141. }
  142. li:hover:before
  143. {
  144. transform: rotate(-30deg) skew(-30deg) translate(1.5px,9px);
  145. }
  146. li:hover:after
  147. {
  148. transform: rotate(30deg) skew(30deg) translate(-1.5px,9px);
  149. }
  150. a
  151. {
  152. display: block;
  153. padding: 10px 15px;
  154. text-decoration: none;
  155. text-align: center;
  156. }
  157. a span
  158. {
  159. text-shadow: 1px 1px 1px #FFF;
  160. color: #857e74;
  161. transition: all .2s;
  162. }
  163. a span:first-child
  164. {
  165. font-family: icon;
  166. font-size: 33px;
  167. display: block;
  168. }
  169. a span:last-child
  170. {
  171. text-transform: capitalize;
  172. font-family: 'Georgia';
  173. font-size: 11px;
  174. letter-spacing: 1px;
  175. font-style: italic;
  176. color: #6488ba;
  177. }
  178. li:hover span
  179. {
  180. transition: all .2s;
  181. }
  182. li:hover a span:first-child
  183. {
  184. color: #6488ba;
  185. text-shadow: 1px 1px 1px #FFF , 0 0 1px #6488ba;
  186. }
  187. li:hover a span:last-child
  188. {
  189. color: #857e74;
  190. }
  191. @font-face
  192. {
  193. font-family: icon;
  194. src: url('http://bennettfeely.com/fonts/icons.woff');
  195. }

基于CSS3飘带状3D菜单 菜单带小图标的更多相关文章

  1. CSS3飘带状3D菜单

    在线演示 本地下载

  2. jQuery垂直手风琴菜单 菜单项带小图标

    在线演示 本地下载

  3. 纯css3响应式3d翻转菜单

    前端开发whqet,csdn,王海庆,whqet,前端开发专家 周末快乐哈,今天来看一个纯CSS3实现的3d翻转菜单.3d响应式菜单,希望对大家有所帮助. 在线赞赏效果.在线编辑代码,或者下载收藏. ...

  4. 基于CSS3金属风格下拉菜单

    基于CSS3金属风格下拉菜单,css,金属风格,下拉菜单,CSS3导航. css3按钮:http://www.huiyi8.com/css3/anniu/

  5. 基于css3的文字3D翻转特效

    一款基于css3的文字3D翻转特效.这款特效当鼠标经过文字的时候3D翻转显示阴影.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="compo ...

  6. 精美的HTML5/CSS3表单 带小图标

    今天我们要来分享一款非常精美的HTML5/CSS3表单,准备地说,这是一款经过美化的input输入表单,每一个输入表单都可以定义其两侧的小图标,非常华丽.另外,这款表单应用还采用了3种不同的风格主题, ...

  7. CSS3带小图标垂直下拉菜单

    在线演示 本地下载

  8. 基于CSS3制作的鼠标悬停动画菜单

    之前分享了好多款css3实现的鼠标悬停效果.今天再给大家带来一款基于CSS3制作的鼠标悬停动画菜单.这款菜单适用浏览器:360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界 ...

  9. Vue.js 实现的 3D Tab菜单

    今天给大家带来一款基于VueJS的3D Tab菜单,它跟我们之前分享的许多CSS3 Tab菜单不同的是,它可以随着鼠标移动呈现出3D立体的视觉效果,每个tab页面还可以通过CSS自定义封面照片.它的核 ...

随机推荐

  1. java将数据从List转换Map

    一.多对多 -> 一对多 二.代码实现 /** * 1个国家下所有城市,一对多关系 * 组装成Map结构返回 **/ public Map<String,List<JSONObjec ...

  2. 基于prometheus监控k8s集群

    本文建立在你已经会安装prometheus服务的基础之上,如果你还不会安装,请参考:prometheus多维度监控容器 如果你还没有安装库k8s集群,情参考: 从零开始搭建基于calico的kuben ...

  3. 【SSH】Hibernate关联映射

    一对一关联映射 一对一主键关联映射    一句话:不加字段.主键既是主键又是外键. 一对一单向主键关联映射 配置: <span style="font-family:KaiTi_GB2 ...

  4. Ubuntu 18.04 安装和常用软件安装

    Ubuntu 18.04 安装 下载 Ubuntu 制作 U 盘启动盘 设置电脑为 U 盘启动 插入 U 盘,重启电脑 按照提示安装 Ubuntu 更新 NVIDIA 显卡和 Broadcom 无线网 ...

  5. atitit.html编辑器的设计要点与框架选型 attilax总结

    atitit.html编辑器的设计要点与框架选型 attilax总结 1. html编辑器的设计要求1 1.1. 障碍訪问 1 1.2. 强大Ajax上传 1 1.3. Word完美支持 2 1.4. ...

  6. fastdfs 图片服务器 使用java端作为客户端上传图片

    之前有说道搭建fastdfs作为图片服务器,但是没有说明如何真正在代码里调用,那么今天大致讲一下,如何使用java客户端进行上传 首先你得要有一个客户端,导入到eclipse中即可 git地址如下: ...

  7. 牛腩学ASP.NET CORE做博客(视频)

    牛腩学习ASP.NET CORE做的项目,边学边做. 目录: 01-dotnetcore网站部署到centos7系统上(时长 2:03:16) 02-前期准备及项目搭建 (时长:0:23:35) 03 ...

  8. 菜鸟译文(二)——使用Java泛型构造模板方法模式

    如果你发现你有很多重复的代码,你可能会考虑用模板方法消除容易出错的重复代码.这里有一个例子:下面的两个类,完成了几乎相同的功能: 实例化并初始化一个Reader来读取CSV文件: 读取每一行并解析: ...

  9. (原) ubuntu下用pycharm2016.1专业版配docker编译环境(docker Interpreter)

    一:先创建docker-machine 先创建docker machine.我主机上的虚拟机是virtualbox.$ docker-machine create --driver virtualbo ...

  10. LeetCode: Pascal's Triangle 解题报告

    Pascal's Triangle Given numRows, generate the first numRows of Pascal's triangle. For example, given ...