一步步教大家编写酷炫的导航栏js+css实现

一步一步的学习制作导航栏,文章末尾再做个综合页面分享给大家一个炫酷的导航栏供大家参考,具体内容如下

1.当前页面高亮显示的导航栏

首先是HTML代码,很简单,ul+li实现菜单

<Meta charset="UTF-8"> 导航栏一
  • 首页

    基本效果:

    接下来设置CSS属性,这里要注意标签a是行级元素,所以需要用display转成块级元素,这个很常用,还有就是line-height的常见用法

    实现的效果:

    最后就是JS动态添加定位效果了 js里面这样考虑,页面跳转就会有链接,根据链接的后缀来匹配属性,匹配则更改样式即可达到想要的效果 需要注意的就是如何获取URL,如何从URL里面查找出href信息

    if(href.length>0){
    //如果匹配开头成功则更改样式
    $(".list li a[href^='"+href+"']").addClass("on");
    //[attribute^=value]:匹配给定的属性是以某些值开始的元素。
    }else {
    //默认主页高亮
    $(".list li a[href^='index']").addClass("on");
    }
    });

    效果图

    2.划入自动切换的导航条

    在1的基础上,修改一下HTMLa标签内容,然后通过CSS设置动画效果

    CSS实现动画效果,首先把b和i标签都设置为块级元素,这样的话就可以垂直分布,再给a设置一个transition,所谓的动画,就是划入后改变把a上移,再给a加个边框好观察,看下图

    最后想实现效果,就给包裹菜单的div设置一个溢出隐藏属性即可

    也可以采用JQ来实现,代码如下

    3.弹性子菜单实现

    首先子菜单使用div包裹,里面都是a标签,如下

    接下来设置样式,既然是子菜单,就要脱离文档页面,所以使用absolute属性,使用这个属性那么父容器就要是relative

    如下效果:

    接下来使用JQ和easing插件来控制动画 find方法一般用来查找操作元素的后代元素的

    插件 $(this).find(".down").stop().slideDown({duration:1000,easing:"eaSEOutBounce"}); },function () { $(this).find(".down").stop().slideUp({duration:1000,easing:"eaSEOutBounce"}); }); });

    效果,图片录制不太好,实际上都是弹性动画的。

    内容,希望对大家的学习有所帮助。

    相关文章

    事件冒泡和事件捕获 起因:今天在封装一个bind函数的时候,发现el.addEventListener函数支持第三个参数...
    js小数运算会出现精度问题 js number类型 JS 数字类型只有number类型,number类型相当于其他强类型语言...
    什么是跨域 跨域 : 广义的跨域包含一下内容 : 1.资源跳转(链接跳转,重定向跳转,表单提交) 2.资源...
    @ &quot;TOC&quot; 常见对base64的认知(不完全正确) 首先对base64常见的认知,也是须知的必须有...
    搞懂:MVVM模式和Vue中的MVVM模式 MVVM MVVM : 的缩写,说都能直接说出来 :模型, :视图, :视图模...
    首先我们需要一个html代码的框架如下: 我们的目的是实现ul中的内容进行横向的一点一点滚动。ul中的内容...