CSS3的一个简单导航栏实现

 

 
 

上面是一个效果图,代码在下面:

html

XML/HTML Code复制内容到剪贴板

  1. <nav>
  2. <ul class="nav-ul">
  3. <li>
  4. <a href="/">首页</a>
  5. </li>
  6. <li>
  7. <a href="/category/frontend">Web前端</a>
  8. <ul>
  9. <li class="nav-effect-1">
  10. <a href="/category/frontend/javascript">JavaScript</a>
  11. </li>
  12. <li class="nav-effect-2">
  13. <a href="/category/frontend/jq">JQuery</a>
  14. </li>
  15. <li class="nav-effect-3">
  16. <a href="/category/frontend/style">CSS</a>
  17. </li>
  18. <li class="nav-effect-4">
  19. <a href="/category/frontend/html">HTML</a>
  20. </li>
  21. </ul>
  22. </li>
  23. <li>
  24. <a href="/category/end">后端</a>
  25. <ul>
  26. <li class="nav-effect-1">
  27. <a href="/category/end/python-end">Python</a>
  28. </li>
  29. <li class="nav-effect-2">
  30. <a href="category/end/php">PHP</a>
  31. </li>
  32. </ul>
  33. </li>
  34. <li>
  35. <a href="/category/trivial">琐碎杂类</a>
  36. <ul>
  37. <li class="nav-effect-1">
  38. <a href="/category/trivial/linux">Linux</a>
  39. </li>
  40. <li class="nav-effect-2">
  41. <a href="/category/trivial/ajax">Ajax</a>
  42. </li>
  43. </ul>
  44. </li>
  45. <li>
  46. <a href="/category/life">我的生活</a>
  47. <ul>
  48. <li class="nav-effect-1">
  49. <a href="/category/life/college">College</a>
  50. </li>
  51. <li class="nav-effect-2">
  52. <a href="/category/life/review">Review</a>
  53. </li>
  54. <li class="nav-effect-3">
  55. <a href="/category/life/sentiment">Sentiment</a>
  56. </li>
  57. </ul>
  58. </li>
  59. <li>
  60. <a href="#">关于我</a>
  61. <ul>
  62. <li class="nav-effect-1">
  63. <a href="/contribute">友情链接</a>
  64. </li>
  65. <li class="nav-effect-2">
  66. <a href="/message">留言板</a>
  67. </li>
  68. </ul>
  69. </li>
  70. </ul>
  71. </nav>

css:

CSS Code复制内容到剪贴板

  1. *{
  2. margin:0 auto;
  3. }
  4. body{
  5. background-color: #EEEEEE;
  6. font-family: Microsoft Yahei,Arial,sans-serif;
  7. }
  8. nav{
  9. width: 100%;
  10. background-color: #455552;
  11. position: relative;
  12. width: 650px;
  13. margin-top: 100px;
  14. }
  15. .nav-ul{
  16. list-style: none;
  17. }
  18. .nav-ul>li{
  19. display: inline-block;
  20. position: relative;
  21. }
  22. .nav-ul a{
  23. text-decoration: none;
  24. color: #FFF;
  25. display: inline-block;
  26. padding: 10px 20px;
  27. }
  28. .nav-ul a:hover{
  29. background-color: #1ABC9C;
  30. }
  31. .nav-ul a:hover+ul li{
  32. opacity:1;
  33. -webkit-transform: rotateY(0deg);
  34. transform: rotateY(0deg);
  35. }
  36. .nav-ul a+ul{
  37. list-style: none;
  38. position: absolute;
  39. transition: opacity 0.5s;
  40. -webkit-perspective: 800;
  41. -webkit-transform-style: preserve-3d;
  42. }
  43. .nav-ul a+ul:hover li{
  44. opacity: 1;
  45. -webkit-transform: rotateY(0deg);
  46. transform: rotateY(0deg);
  47. }
  48. .nav-ul a+ul li{
  49. position: relative;
  50. left: -40px;
  51. opacity: 0;
  52. width: 150px;
  53. transition: transform 1.5s,opacity 0.8s;
  54. }
  55. .nav-ul a+ul a{
  56. display: inline-block;
  57. width: 75%;
  58. background-color: rgba(26,188, 156, 0.75);
  59. }
  60. .nav-effect-1{
  61. transform: rotateY(90deg) translateX(10px);
  62. }
  63. .nav-effect-2{
  64. transform: rotateY(120deg) translateX(20px);
  65. }
  66. .nav-effect-3{
  67. transform: rotateY(150deg) translateX(30px);
  68. }
  69. .nav-effect-4{
  70. transform: rotateY(180deg) translateX(40px);
  71. }
  72. .nav-ul a+ul a:hover{
  73. background-color: rgba(69,85, 82, 0.75);
  74. }

查看demo:demo

时间: 2024-09-17 09:52:29

CSS3的一个简单导航栏实现的相关文章

使用CSS3制作一个简单的Chrome模拟器

  都是一些基本的CSS3的使用,并不复杂.各位有兴趣地可以试着也写一个. 唯一复杂的地方是浏览器标签的模拟. 可以看出,Chrome标签的基本特点如下: 梯形 有圆角 宽度自适应 用图片可以轻松搞定,但是怎么能用图片呢?作为一个有追求的前端,肯定要用纯CSS3实现啊! 标签的HTML很简单: XML/HTML Code复制内容到剪贴板   新标签页   百度一下,你就知道   新标签页     梯形的两端用:before 与 :after 轻松搞定. CSS Code复制内容到剪贴板 .tab

用CSS编写一个网页导航栏

css|导航|网页 列表标签:<ul id="bar">  <li><a href="#">导航标题</a></li>  <li><a href="#">导航标题</a></li>  <li><a href="#">导航标题</a></li>  <li><

使用CSS3制作响应式导航菜单的方法

关于使用响应式设计来创建一个手机导航栏,之前我曾经写过一个教程.现在我发现了一种新的方式,可以不使用JavaScript来实现响应式菜单.它完全使用整洁和语义化的HTML5标记,而且菜单可以居左.居中和居右对齐.不像前面一个教程中需要点击来展开,这个菜单可以在hover时展开,对用户更为友好.它也包含一个指示器来显示当前激活的菜单项.这种方式可以工作于所有的移动和桌面浏览器中,甚至包括IE. 演示 目标 这个教程的目标是向你展示如何把一个传统的列表菜单在更小的屏幕上转换为可伸展的菜单. 这种方式

关于iOS导航栏返回按钮问题的解决方法_IOS

最近遇到一个关于导航栏返回按钮的问题,因为之前项目里面都是用的系统默认的返回按钮样式所以没有想过要去更改,后来有需要将返回按钮箭头旁边的文字去掉,同时将该返回按钮的点击事件重新定义.一开始尝试自定义按钮然后设置为leftBarButtonItem,但是这样图片可能跟系统自带的不一样,还有就是返回按钮的位置跟系统自带的不一样.后来找了一些资料,发现将文字去掉比较简单,一般做法是控制器中添加如下代码,然后他的下一级控制就有一个只有箭头没有文字返回按钮: 复制代码 代码如下: UIBarButtonI

iOS实现知乎和途家导航栏渐变的文字动画效果_IOS

效果图如下 分析如下:      1.导航栏一开始是隐藏的,随着scrollView滚动而渐变      2.导航栏左右两边的navigationItem是一直显示的      3.导航栏参考了途家app,使用了毛玻璃效果,背景是一张图片      4.下拉放大图片效果      5.title文字动画效果 通过简单分析,系统的导航栏实现以上效果有点困难,直接自定义一个假的导航栏更容易点 分布拆解实现以上效果 一.下拉放大header图片 - (void)viewDidLoad { [super

React Native自定义导航栏

之前我们学习了可触摸组件和页面导航的使用的使用: 从零学React Native之09可触摸组件 - 从零学React Native之03页面导航 - 经过之前的学习, 我们可以完成一个自定义导航栏了, 效果如下: 我们需要创建一个 NaviBar.js 用来显示顶部的导航栏, 还需要四个界面(Page1.js,Page2.js,Page3.js,Page4.js). 当然还需要修改index.android.js或者index.ios.js 用来处理4个界面的切换. 导航栏NaviBar 实现

三步搞定android应用底部导航栏

很多android应用底部都有一个底部导航栏,方便用户在使用过程中随意切换.目前常用的做法有三种:一种是使用自定义tabHost,一种是使用activityGroup,一种是结合FrameLayout实现.笔者再做了多款应用后,为了节约开发周期,封装了一个抽象类,只要三步便可完成底部栏的生成及不同页面的调用. public class ActivitycollectiondemoActivity extends ActivityCollection { /** Called when the a

TextView+Fragment实现底部导航栏

前言:项目第二版刚上线没多久,产品又对需求进行了大改动,以前用的是左滑菜单,现在又要换成底部导航栏,于是今天又苦逼加班了.花了几个小时实现了一个底部导航栏的demo,然后总结一下.写一篇博客.供自己以后参考.也可以给没有做过的朋友进行参考.以后大家有类似的功能就可以在我的demo上就行修改. 一.先上效果图:   本来是打算用FragmentTabHost实现的,但是中间那个按钮有点麻烦,想到我们项目好几个产品经理,并且经常改需求,于是最后决定  用 TextView+Fragment去实现. 

《iOS创意程序设计家》——第6.2节导航栏控制器UINavigationController

6.2 导航栏控制器UINavigationController iOS创意程序设计家 导航栏控制器(UINavigationController)位于界面的最上方,主要用于将具有因果关系的界面连接起来,它由几个元素组成:左边按钮.右边按钮以及标题.我们可以通过导航栏的navigationItem来访问这3个元素.其中,左右两边的按钮都是UIBarButtonItem类,我们可以通过navigationItem.rightBarButtonItem以及navigationItem.leftBar