今天主要利用hover选择器。鼠标滑过查看效果。

一。普通导航栏

  • Home
  • Content
  • Service
  • Team
  • Contact

对于这种普通的导航栏,只是鼠标滑过的时候颜色会变,所以思路变得很简单。

(1)使用ul标签布局

(2)鼠标经过事件

  1. <div id="demo1">
  2. <ul>
  3. <li>Home</li>
  4. <li>Content</li>
  5. <li>Service</li>
  6. <li>Team</li>
  7. <li>Contact</li>
  8. </ul>
  9. </div>
  1. *{
  2. padding:;
  3. margin:;
  4. list-style:none;
  5. text-decoration:none;
  6. }
  7. a{
  8. color:#fff;
  9. }
  10. #demo1{
  11. width:600px;
  12. }
  13. #demo1 ul li{
  14. float:left;
  15. width:100px;
  16. height:50px;
  17. text-align:center;
  18. background:#ccc;
  19. line-height:50px;
  20. color:#FFF;
  21. }
  22. #demo1 ul li:hover{
  23. background:#999;
  24. }

(二)括号类导航栏

对于导航栏的排版这里就不多说了,可以看到当鼠标经过的时候会从文字中出现括号,思路:

(1)当无鼠标经过事件时,括号其实是有的,只不多它处于隐形状态在文字中间

(2)当鼠标经过时,括号从中间移动到两边,并且从隐形变为显示。

  1. <div id="demo2">
  2. <ul>
  3. <li><a href="#">Home</a></li>
  4. <li><a href="#">Content</a></li>
  5. <li><a href="#">Service</a></li>
  6. <li><a href="#">Team</a></li>
  7. <li><a href="#">Contact</a></li>
  8. </ul>
  9. </div>
  1. #demo2{
  2. width:600px;
  3. height:50px;
  4. margin:20px auto;
  5. }
  6. #demo2 ul li{
  7. position:relative;
  8. float:left;
  9. width:100px;
  10. height:50px;
  11. text-align:center;
  12. line-height:50px;
  13. background:#000;
  14. }
  15. #demo2 ul li a:before{
  16. content:"[";
  17. margin-right:10px;
  18. transform:translateX(20px);
  19. -webkit-transform:translateX(20px);
  20. -moz-transform:translateX(20px);
  21. -ms-transform:translateX(20px);
  22.  
  23. }
  24. #demo2 ul li a:after{
  25. content:"]";
  26. margin-left:10px;
  27. transform:translateX(-20px);
  28. -webkit-transform:translateX(-20px);
  29. -moz-transform:translateX(-20px);
  30. -ms-transform:translateX(-20px);
  31. }
  32. #demo2 ul li a:before,#demo2 ul li a:after{
  33. display:inline-block;
  34. opacity:;
  35. transition:transform 0.3s, opacity 0.2s;
  36. -moz-transition:transform 0.3s, opacity 0.2s;
  37. -webkit-transition:transform 0.3s, opacity 0.2s;
  38. -ms-transition:transform 0.3s, opacity 0.2s;
  39. }
  40. #demo2 ul li a:hover::before,#demo2 ul li a:hover::after,#demo2 ul li a:focus::before,#demo2 ul li a:focus::after {
  41. opacity:;
  42. -webkit-transform: translateX(0px);
  43. -moz-transform: translateX(0px);
  44. transform: translateX(0px);
  45. }

三。滑动导航栏

从演示效果来看要注意两点

(1)鼠标经过时有横向从上到下

(2)鼠标经过时文字从上到下并且变换颜色

这就和上一个例子很像了

(1)横线其实是存在的,只不过鼠标没有经过时是在文字上方且透明的,鼠标经过时横线由上到下。

(2)文字这里就要定义一个动画了,因为在鼠标经过时它体现了三种状态:

  ①文字从现位置划下

  ②文字从出现在上方

  ③文字从上方滑到现位置

  1. <div id="demo3">
  2. <ul>
  3. <li><a href="#"><span>Home</span></a></li>
  4. <li><a href="#"><span>Content</span></a></li>
  5. <li><a href="#"><span>Service</span></a></li>
  6. <li><a href="#"><span>Team</span></a></li>
  7. <li><a href="#"><span>Contact</span></a></li>
  8. </ul>
  9. </div>
  1. #demo3 ul li{
  2. float:left;
  3. margin:0 25px;
  4. position:relative;
  5. }
  6. #demo3 ul li a{
  7. color:#D8761E;
  8. font-family:'Righteous', cursive;
  9. display:block;
  10. padding:10px 0;
  11. }
  12. #demo3 ul li span{
  13. display:block;
  14. }
  15. #demo3 ul li a:before{
  16. content:"";
  17. position:absolute;
  18. width:100%;
  19. height:3px;
  20. background:#D8761E;
  21. bottom:;
  22. opacity:;
  23. -webkit-transform: translate3d(0, -40px, 0);
  24. transform: translate3d(0, -40px, 0);
  25. -webkit-transition: -webkit-transform 0s 0.3s, opacity 0.2s;
  26. transition: transform 0s 0.3s, opacity 0.2s;
  27. }
  28. #demo3 ul li a:hover::before{
  29. opacity:;
  30. -webkit-transform: translate3d(0, 0, 0);
  31. transform: translate3d(0, 0, 0);
  32. -webkit-transition: -webkit-transform 0.5s, opacity 0.1s;
  33. transition: transform 0.5s, opacity 0.1s;
  34. -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  35. transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  36. }
  37. #demo3 ul li a:hover span{
  38. color:#510301;
  39. -webkit-animation: anim-francisco 0.3s forwards;
  40. animation: anim-francisco 0.3s forwards;
  41. }
  42. @-webkit-keyframes anim-francisco {
  43. 50% {
  44. opacity:;
  45. -webkit-transform: translate3d(0, 100%, 0);
  46. transform: translate3d(0, 100%, 0);
  47. }
  48.  
  49. 51% {
  50. opacity:;
  51. -webkit-transform: translate3d(0, -100%, 0);
  52. transform: translate3d(0, -100%, 0);
  53. }
  54.  
  55. 100% {
  56. opacity:;
  57. -webkit-transform: translate3d(0, 0, 0);
  58. transform: translate3d(0, 0, 0);
  59. }
  60. }
  61.  
  62. @keyframes anim-francisco {
  63. 50% {
  64. opacity:;
  65. -webkit-transform: translate3d(0, 100%, 0);
  66. transform: translate3d(0, 100%, 0);
  67. }
  68.  
  69. 51% {
  70. opacity:;
  71. -webkit-transform: translate3d(0, -100%, 0);
  72. transform: translate3d(0, -100%, 0);
  73. }
  74.  
  75. 100% {
  76. opacity:;
  77. -webkit-transform: translate3d(0, 0, 0);
  78. transform: translate3d(0, 0, 0);
  79. }
  80. }

这里注意的是不能给标签设置宽高,因为一旦设置宽高会影响文字滑动路线,变得很夸张。这里加span也是这个原因,鼠标经过a时让span以a为参照进行滑动。

里面的标签就不解释了,自己查效果会更好哦。

我好无奈呀,用这个显示效果a标签和li的默认样式竟然不能取消,谁能告诉我为什么/(ㄒoㄒ)/~~  不过自己编译的话在浏览器里是正常的

css3制作炫酷导航栏效果的更多相关文章

  1. css3 之炫酷的loading效果

    css3 之炫酷的loading效果 今天实现了一个炫酷的loading效果,基本全用css来实现,主要练习一下css3的熟练运用 js需要引入jquery 只用到了一点点js 先看效果图 html: ...

  2. css3实现炫酷的文字效果_空心/立体/发光/彩色/浮雕/纹理等文字特效

    这篇文章主要整理一些css3实现的一些文字特效,分享给大家, 相信您看完会有不少的收货哦! 一.css3 空心文字 <style> .hollow{ -webkit-text-stroke ...

  3. 简单使用CSS3实现炫酷读者墙效果

    读者墙,在很多网站上都有,没有遇到过的,可以参考度娘:读者墙http://www.baidu.com/s?wd=%B6%C1%D5%DF%C7%BD 使用基础的Html和CSS写出雏形 需要一提的是头 ...

  4. 简单CSS3实现炫酷读者墙

    如题,给大家介绍和讲解几个常用的CSS3属性,并用到实处. 先看demo(请使用Chrome或者Firefox浏览,IE的靠边): 点此查看实例 觉得爽的可以继续阅读下面的知识点,感觉不爽的可绕行. ...

  5. css制作最简单导航栏

    css制作最简单导航栏

  6. 【分享】纯jQuery实现星巴克官网导航栏效果

    前言 大冬天的没得玩,只能和代码玩. 所以就无聊研究了一下星巴克官网,在我看来应该是基本还原吧~ 请各位大神指教! 官网效果图 要写的就是最上方的会闪现的白色条条 效果分析 1.在滚动条往下拉到一定距 ...

  7. 移动端如何用swiper实现导航栏效果

    在移动端如何用swiper实现导航栏效果 我们在写移动端的时候会有滑动和点击导航后滑动到目标页面功能:而这个功能如果自己写的话会很麻烦,所以我在这推荐一下swiper这个插件. 其实swiper中的官 ...

  8. 【方法】纯jQuery实现星巴克官网导航栏效果

    前言 大冬天的没得玩,只能和代码玩. 所以就无聊研究了一下星巴克官网,在我看来应该是基本还原吧~ 请各位大神指教! 官网效果图 要写的就是最上方的会闪现的白色条条 效果分析 1.在滚动条往下拉到一定距 ...

  9. 一个炫酷的Actionbar效果

    今天在网上看到一个炫酷的Actionbar效果,一个老外做的DEMO,目前很多流行的app已经加入了这个效果. 当用户初始进入该界面的时候,为一个透明的 ActiionBar ,这样利用充分的空间显示 ...

随机推荐

  1. Android Studio 编译单个module

    前期自己要把gradle环境变量配置好 在Terminal中gradle命令行编译apk 输入gradle assembleRelease 会编译全部module编译单个modulecd ./xiru ...

  2. SVN的使用

  3. SEO:权重如何做到从0到1

    SEO:权重如何做到从0到1 [写于2016年9月]我真的好久好久没到我的博客上去看过了,今天突然登上 seo.chinaz.com,搜索 dkplus.iteye.com,发现自己的博客在百度收录中 ...

  4. 我将系统从Windows迁移至Linux下的点点滴滴

    一.写在最前 由于本人的技术水平有限,难免会出现错误.本文对任何一个人有帮助都是我莫大的荣幸,任何一个大神对我的点拨,我都会感激不尽. 二.技术选型 在2013年8月低的时候,公司中了XXX市场监督局 ...

  5. 简述 OAuth 2.0 的运作流程

    本文将以用户使用 github 登录网站留言为例,简述 OAuth 2.0 的运作流程. 假如我有一个网站,你是我网站上的访客,看了文章想留言表示「朕已阅」,留言时发现有这个网站的帐号才能够留言,此时 ...

  6. 在 Linux 打造属于自己的 Vim

    Linux 系统中很多东西都是以脚本代码.配置文件的形式存在,使用 Linux 系统时,需经常对这些文件进行编辑.很显然,如果没有文本编辑器,江湖之路寸步难行. 我的选择是 Vim.Vim 是 Lin ...

  7. 分段二次插值——用Python进行数值计算

    事实上在实际使用中,高次插值显然是很不适合的,高次插值将所有样点包涵进一个插值函数中,这是次幂高的原因.高次计算复杂,而且刚开始的一点误差会被方的很大.因此将整个区间分为若干个小区间,在每一个小区间进 ...

  8. javascript继承的三种模式

    javascript继承一般有三种模式:组合继承,原型式继承和寄生式继承: 1组合继承:javascript最为广泛的继承方式通过原型链实现对原型属性和方法的继承,通过构造函数实现对实例属性的继承,同 ...

  9. 前端开发面试题收集(html部分)

    1.问:<keygen>是正确的HTML5标签吗? 答:是. <keygen> 标签规定用于表单的密钥对生成器字段.当提交表单时,私钥存储在本地,公钥发送到服务器. 2.问:& ...

  10. Sql Server系列:SQL语句查询数据库中表、视图、存储过程等组成

    1. 查看用户表 select name from sys.tables select name from sys.objects where type='U' select name from sy ...