当前位置:Gxlcms > css > 纯css做一个简单好看的导航栏

纯css做一个简单好看的导航栏

时间:2021-07-01 10:21:17 帮助过:109人阅读

自学做的一个自觉地简单好看的导航栏的小样式,用到了一些css3属性。 很简单好看的一个导航栏,喜欢的朋友可以看一下。

先上代码 html的

  1. <nav>
  2. <ul>
  3. <li>哈哈哈</li>
  4. <li>吼吼吼</li>
  5. <li>嘿嘿嘿</li>
  6. <li>嘎嘎嘎</li>
  7. <li class="move"></li>
  8. <!--<li class="fly fly1"></li>
  9. <li class="fly fly2"></li>
  10. <li class="fly fly3"></li>
  11. <li class="fly fly4"></li>
  12. -->
  13. </ul>
  14. </nav>

css的:

  1. nav,
  2. ul,
  3. li {
  4. padding: 0;
  5. margin: 0;}
  6. nav {
  7. position: relative;
  8. left: 35%;
  9. top: 20px;
  10. width: 30%;
  11. height: 60px;
  12. background-color: #66CCFF;
  13. box-sizing: border-box;
  14. display: inline-block;
  15. }
  16. ul {
  17. width: 100%;
  18. height: 60px;
  19. vertical-align: middle;
  20. }
  21. li {
  22. display: inline-block;
  23. width: 20%;
  24. text-align: center;
  25. height: 60px;
  26. line-height: 60px;
  27. cursor: pointer;
  28. color: #000000;
  29. transition: color 0.4s ease-in-out;
  30. }
  31. li:hover {
  32. color: #FFFFFF;}
  33. .move {
  34. display: inline-block;
  35. border: 4px solid #FF3333;
  36. height: 0px;
  37. background-color: #FF3333;
  38. position: absolute;
  39. left: 0;
  40. top: 56px;
  41. transition: left 0.4s ease-in-out;}
  42. li:nth-child(1):hover~.move {
  43. left: 0;}
  44. li:nth-child(2):hover~.move {
  45. left: 20%;}
  46. li:nth-child(3):hover~.move {
  47. left: 40%;}
  48. li:nth-child(4):hover~.move {
  49. left: 60%;}

开始做的时候,用float来完成列表项在一行的效果,这样的结果就是顺序会颠倒,而且还是以块元素形式存在,所以同一导航栏其他内容无法排在一行,display:inline-block很好的解决了这一点。

其他小亮点的使用就是,用一个li的空元素当做用来移动的标识,把他绝对定位到第一个位置,然后通过~来设置每个li元素的悬停时候move类这个li空元素的位置。(css3的新属性真的很好用,尤其是过渡tratition属性)

ps:本想用同样的原理,来实现当悬停时,实现从下到上的一个颜色变换。不过好像自己的思路不对,我设了四个空元素,把他们高度定为0,绝对定位到底,当悬停时高度变为60px,事实和想象还是有距离。

前两天终于拖沓的略读了《css3专业开发指南》这本书,css3的好多属性虽然有些还没有被规范使用,但效果真的很棒。也更加模糊了css,js之间的分界,不再是各管各事,不过对设计的人来说还是方便了不少。

需要学习CSS的同学请关注Gxl网CSS视频教程,众多css在线视频教程可以免费观看!

以上就是纯css做一个简单好看的导航栏的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行