使用CSS制作立体导航栏

  发布时间:2017-10-16 10:38:28   作者:佚名   我要评论
这篇文章主要介绍了使用CSS制作立体导航栏的相关资料,需要的朋友可以参考下

css制作的立体导航栏,具体实现代码如下所示:

<!doctype html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>CSS制作立体导航</title>
        <link rel="stylesheet" href="http://www.w3cplus.com/demo/css3/base.css">
        <style>
            body{
              background: #ebebeb;
            }
            .nav{
              width:560px;
              height: 50px;
              font:bold 0/50px Arial;
              text-align:center;
              margin:40px auto 0;
              background: #f65f57;
             /*制作导航圆角*/
              border-radius: 8px;
             /*制作导航立体效果*/
              box-shadow: 0 7px 0 #ba4a45;
            }
            .nav a{
              display: inline-block;
              /* a元素的过渡属性:1、设置所有a标签过渡;2、过渡时间;3、速度曲线:以慢速开始的过渡效果 */
                -webkit-transition: all 0.2s ease-in;/* Safari 和 Chrome */
                -moz-transition: all 0.2s ease-in;/* Firefox */
               -o-transition: all 0.2s ease-in;/* Opera */
               -ms-transition: all 0.2s ease-in;/* IE 9 */
               transition: all 0.2s ease-in;
            }
            .nav a:hover{
                /* 鼠标移上时的效果;定义2D旋转10度 */
              -webkit-transform:rotate(10deg);
              -moz-transform:rotate(10deg);
              -o-transform:rotate(10deg);
              -ms-transform:rotate(10deg);
              transform:rotate(10deg);
            }
            .nav li{
              position:relative;
              display:inline-block;
              padding:0 16px;
              font-size: 14px;
              text-shadow:1px 2px 4px rgba(0,0,0,.5);
              list-style: none outside none;
            }
            /*制作导航分隔线效果*/
            .nav li::before,
            .nav li::after{
              content:"";
              position:absolute;
              top:14px;
              height: 25px;
              width: 1px;
            }
            .nav li::after{
              right: 0;
              /* 线性渐变 */
              background: -moz-linear-gradient(top, rgba(255,255,255,0), rgba(255,255,255,.2) 50%, rgba(255,255,255,0));
              background: -webkit-linear-gradient(top, rgba(255,255,255,0), rgba(255,255,255,.2) 50%, rgba(255,255,255,0));
              background: -o-linear-gradient(top, rgba(255,255,255,0), rgba(255,255,255,.2) 50%, rgba(255,255,255,0));
              background: -ms-linear-gradient(top, rgba(255,255,255,0), rgba(255,255,255,.2) 50%, rgba(255,255,255,0));
              background: linear-gradient(top, rgba(255,255,255,0), rgba(255,255,255,.2) 50%, rgba(255,255,255,0));
            }
            .nav li::before{
              left: 0;
              background: -moz-linear-gradient(top, #ff625a, #9e3e3a 50%, #ff625a);
              background: -webkit-linear-gradient(top, #ff625a, #9e3e3a 50%, #ff625a);
              background: -o-linear-gradient(top, #ff625a, #9e3e3a 50%, #ff625a);
              background: -ms-linear-gradient(top, #ff625a, #9e3e3a 50%, #ff625a);
              background: linear-gradient(top, #ff625a, #9e3e3a 50%, #ff625a);
            }
            /*删除导航第一个导航项左边的分隔线*/
            .nav li:first-child::before{
              background: none;
            }
            /*删除导航最后一个导航右边的分隔线*/
            .nav li:last-child::after{
              background: none;
            }
            .nav a,
            .nav a:hover{
              color:#fff;
              text-decoration: none;
            }
        </style>
    </head>
    <body>
        <ul class="nav">
        <li><a href="">首页</a></li>
        <li><a href="">个人简介</a></li>
        <li><a href="">作品集</a></li>
        <li><a href="">博客</a></li>
        <li><a href="">资源</a></li>
        <li><a href="">联系我</a></li>
        </ul>
    </body>
</html>

效果图:

总结:

1、body部分用无序列表

2、(1)hover

    鼠标移上时的效果。

  (2)疑问::before和:before的区别

    简单来说单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素。

    w3c关于css选择器的规范:

A pseudo-element is made of two colons (::) followed by the name of the pseudo-element.
This :: notation is introduced by the current document in order to establish a discrimination between pseudo-classes and pseudo-elements. For compatibility with existing style sheets, user agents must also accept the previous one-colon notation for pseudo-elements introduced in CSS levels 1 and 2 (namely, :first-line, :first-letter, :before and :after). This compatibility is not allowed for the new pseudo-elements introduced in CSS level 3.

    简单翻译:伪元素由双冒号和伪元素名称组成。双冒号是在当前规范中引入的,用于区分伪类和伪元素。不过浏览器需要同时支持旧的已经存 在的伪元素写法,比如:first-line、:first-letter、:before、:after等,而新的在CSS3中引入的伪元素则不允许再支持旧的单冒号的写法。

    那么现在就可以完整的回答标题中的问题了,对于CSS2之前已有的伪元素,比如:before,单冒号和双冒号的写法::before作用是一样的。

    所以,如果你的网站只需要兼容webkit、firefox、opera等浏览器,建议对于伪元素采用双冒号的写法,如果不得不兼容IE浏览器,还是用CSS2的单冒号写法比较安全。

总结

以上所述是小编给大家介绍的使用CSS制作立体导航栏,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • html+css+js实现导航栏滚动渐变效果

    这篇文章主要介绍了html+css+js实现导航栏滚动渐变效果,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-28
  • 不可思议的CSS导航栏下划线跟随效果

    这篇文章主要介绍了纯CSS实现导航栏下划线跟随效果,本文图文并茂实例代码详解,给大家介绍的非常详细,需要的朋友参考下吧
    2019-12-09
  • html+css 实现简易导航栏功能

    这篇文章主要介绍了基于html+css 实现简易导航栏功能,主要就是css(级联样式表)对html的内容做格式化。具体内容详情大家跟随小编一起通过本文学习吧
    2021-04-07
  • CSS中的导航栏和下拉菜单的实现

    这篇文章主要介绍了CSS中的导航栏和下拉菜单的实现的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-18
  • 纯CSS实现导航栏下划线跟随滑动效果

    这篇文章主要介绍了纯CSS实现导航栏下划线跟随滑动效果,需要的朋友可以参考下
    2018-03-29
  • div+css实现带箭头的面包屑导航栏

    本文主要介绍了制作漂亮美观的带箭头的面包屑导航栏的示例代码。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-06
  • CSS导航栏及弹窗示例代码

    本篇文章主要介绍了CSS导航栏及弹窗示例代码,导航栏和弹窗是在web中应用很广泛的,非常具有实用价值,需要的朋友可以参考下。
    2017-01-10
  • 纯CSS实现导航栏Tab切换效果

    CSS 的强大之处有的时候超乎我们的想象,Tab 切换,常规而言确实需要用到一定的脚本才能实现。下面看看如何使用纯CSS实现导航栏Tab切换效果
    2016-10-13
  • CSS利用伪元素实现导航栏斜线分隔

    这篇文章主要介绍了CSS利用伪元素实现导航栏斜线分隔的相关资料
    2016-03-14
  • 基于html和CSS3制作简单侧边导航栏

    本篇文章给大家分享基于html和CSS3制作简单侧边导航栏,效果简单大方,需要的朋友可以从参考下
    2016-02-25

最新评论