纯CSS3单页切换导航菜单界面设计的简单如何实现

公园里的草真绿啊,绿得让你感觉那是一块绿地毯;公园里的草真密啊,密得看不见泥土;公园里的草真柔啊,微风一吹,它们就翩翩起舞。

这是一款使用纯CSS3制作的单页切换导航菜单界面设计效果。该页面效果中,在页面的左侧垂直排放一组导航按钮,当点击导航按钮时,相应的页面会从屏幕右侧滑动出来,效果非常炫酷。

使用方法

HTML结构

该单页切换导航菜单界面的HTML结构如下:

XML/HTML Code复制内容到剪贴板
  1. <divclass="ct"id="t1">
  2. <divclass="ct"id="t2">
  3. <divclass="ct"id="t3">
  4. <divclass="ct"id="t4">
  5. <divclass="ct"id="t5">
  6. <ulid="menu">
  7. <arel="nofollow noopener noreferrer" href="#t1"><liclass="iconfafa-bolt"id="uno"></li></a>
  8. <arel="nofollow noopener noreferrer" href="#t2"><liclass="iconfafa-keyboard-o"id="dos"></li></a>
  9. <arel="nofollow noopener noreferrer" href="#t3"><liclass="iconfafa-rocket"id="tres"></li></a>
  10. <arel="nofollow noopener noreferrer" href="#t4"><liclass="iconfafa-dribbble"id="cuatro"></li></a>
  11. <arel="nofollow noopener noreferrer" href="#t5"><liclass="iconfafa-plus-circle"id="cinco"></li></a>
  12. </ul>
  13. <divclass="page"id="p1">
  14. <sectionclass="iconfafa-bolt"><spanclass="title">Bolt</span><spanclass="hint">...</section>
  15. </div>
  16. <divclass="page"id="p2">
  17. <sectionclass="iconfafa-keyboard-o"><spanclass="title">Type</span></section>
  18. </div>
  19. <divclass="page"id="p3">
  20. <sectionclass="iconfafa-rocket"><spanclass="title">Rocket</span></section>
  21. </div>
  22. <divclass="page"id="p4">
  23. <sectionclass="iconfafa-dribbble">
  24. <spanclass="title">Dribbble</span>
  25. <pclass="hint">
  26. Imreadytoplay,<spanclass="hintline-trough">inviteme</span>findme
  27. </p>
  28. <pclass="hint">...</p>
  29. </section>
  30. </div>
  31. <divclass="page"id="p5">
  32. <sectionclass="iconfafa-plus-circle">
  33. <spanclass="title">More</span>
  34. <pclass="hint">
  35. ...
  36. </p>
  37. </section>
  38. </div>
  39. </div>
  40. </div>
  41. </div>
  42. </div>
  43. </div>

CSS样式

该单页切换导航菜单界面使用transform和transition来制作页面的切换动画效果。并通过:target伪元素来完成按钮点击时的页面切换。完整的CSS代码如下,代码中没有添加浏览器厂商的前缀。

CSS Code复制内容到剪贴板
  1. html,body,.page{
  2. width:100%;
  3. height:100%;
  4. margin:0;
  5. padding:0;
  6. transition:all.6scubic-bezier(.5,.2,.2,1.1);
  7. color:#fff;
  8. overflow:hidden;
  9. }
  10. *{
  11. font-family:'opensans','lato','helvetica',sans-serif;
  12. }
  13. .page{
  14. position:absolute;
  15. }
  16. #p1{
  17. left:0;
  18. }
  19. #p2,#p3,#p4,#p5{
  20. left:200%;
  21. }
  22. #p1{background:darkslateblue;}
  23. #p2{background:tomato;}
  24. #p3{background:gold;}
  25. #p4{background:deeppink;}
  26. #p5{background:#9b59b6;}
  27. #t2:target#p2,
  28. #t3:target#p3,
  29. #t4:target#p4,
  30. #t5:target#p5{
  31. transform:translateX(-190%);
  32. transition-delay:.4s!important;
  33. }
  34. #t2:target#p1,
  35. #t3:target#p1,
  36. #t4:target#p1,
  37. #t5:target#p1{
  38. background:black;
  39. }
  40. #t2:target#p1.icon,
  41. #t3:target#p1.icon,
  42. #t4:target#p1.icon,
  43. #t5:target#p1.icon{
  44. -webkit-filter:blur(3px);
  45. filter:blur(3px);
  46. }
  47. .icon{
  48. color:#fff;
  49. font-size:32px;
  50. display:block;
  51. }
  52. ul.icon:hover{
  53. opacity:0.5;
  54. }
  55. .page.icon.title{
  56. line-height:2;
  57. }
  58. #t2:targetul.icon,
  59. #t3:targetul.icon,
  60. #t4:targetul.icon,
  61. #t5:targetul.icon{
  62. transform:scale(.6);
  63. transition-delay:.25s;
  64. }
  65. #t2:target#dos,
  66. #t3:target#tres,
  67. #t4:target#cuatro,
  68. #t4:target#cinco{
  69. transform:scale(1.2)!important;
  70. }
  71. ul{
  72. position:fixed;
  73. z-index:1;
  74. top:0;
  75. bottombottom:0;
  76. left:0;
  77. margin:auto;
  78. height:280px;
  79. width:10%;
  80. padding:0;
  81. text-align:center;
  82. }
  83. #menu.icon{
  84. margin:30px0;
  85. transition:all.5sease-out!important;
  86. }
  87. a{
  88. text-decoration:none;
  89. }
  90. .title,.hint{
  91. display:block;
  92. }
  93. .title{
  94. font-size:38px;
  95. }
  96. .hint{
  97. font-size:13px;
  98. }
  99. #p4.hint{
  100. display:inherit!important;
  101. }
  102. .hinta{
  103. color:yellow;
  104. transition:all250msease-out;
  105. }
  106. .hinta:hover{
  107. color:#FFF;
  108. }
  109. .line-trough{
  110. text-decoration:line-through;
  111. }
  112. .page.icon{
  113. position:absolute;
  114. top:0;
  115. bottombottom:0;
  116. rightright:10%;
  117. left:0;
  118. width:270px;
  119. height:170px;
  120. margin:auto;
  121. text-align:center;
  122. font-size:80px;
  123. line-height:1.3;
  124. transform:translateX(360%);
  125. transition:all.5scubic-bezier(.25,1,.5,1.25);
  126. }
  127. .page#p1.icon{
  128. height:220px;
  129. }
  130. .page#p1.icon{
  131. transform:translateX(10%)!important;
  132. }
  133. #t2:target.page#p2.icon,
  134. #t3:target.page#p3.icon,
  135. #t4:target.page#p4.icon,
  136. #t5:target.page#p5.icon{
  137. transform:translateX(0)!important;
  138. transition-delay:1s;
  139. }

以上这篇纯CSS3单页切换导航菜单界面设计的简单实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

您可能有感兴趣的文章
css让页脚保持在底部位置的四种方案

CSS如何使用Flex和Grid布局如何实现3D骰子

Flex布局史上最简单使用语法教程

新的CSS 伪类函数 :is() 和 :where()示例详解

纯CSS打字动画的如何实现示例