这几日学习html,一直在B站乱逛,发现网站的动效做的真好。然后翻到了这一页:

点此查看

上面的导航栏是一个下划线跟随的效果。由于有一个初始的选项(当前页面对应标签保持蓝色),鼠标划过时除了高亮项下面的下划线也要跟随。如果只实现前面这些效果可以用css完成,但是其实这里面的下划线是一个动画效果,仔细观察发现下划线相当于在border-bottom上面做水平运动,切换标签时有一个过渡效果,因此实际上这个下划线其实是一个独立的bar滑块

结构定义如下:

    <div class="nav"><ul><li class="now" id="cur"><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><div class="go hover_bar"></div></div>

nav的position设为相对位移,div如下:

        .go {width: 32px;height: 3px;background-color: #00a1d6;position: absolute;left: 0;bottom: 0;transition: all .2s cubic-bezier(0.215, 0.610, 0.355, 1) 0s;}

假定每个标签的宽度间距固定,那么只要在js中监听鼠标事件,让bar移动n个标签的距离即可.js代码如下

<script>ul = document.getElementsByTagName("ul")[0].children;sub_active = document.getElementById("sub_active");var str = "hello world";sub_active_pos_left = sub_active.offsetLeft;nav_bar = document.getElementById("nav_bar");for (let i = 0; i < ul.length; i++) {ul[i].addEventListener("mouseenter", function (oEvent) {var str = "hello world";nav_bar.style.left = this.offsetLeft + "px";});ul[i].addEventListener("mouseleave", function () {nav_bar.style.left = sub_active_pos_left + "px";});}
</script>

转载于:https://www.cnblogs.com/alex-zen/p/9752274.html

一个HTML 导航栏下划线跟随效果相关推荐

  1. css 导航栏下划线跟随效果,默认第一个li为选中状态

    本次主要是联系css实现导航栏下划线跟随效果 HTML: <ul id="list"><li class="current_li">&l ...

  2. html导航默认选中状态,css 导航栏下划线跟随效果,默认第一个li为选中状态

    本次主要是联系css实现导航栏下划线跟随效果 HTML: js:主要是为了刷新页面,让第一个li默认有下划线和选中效果 css: /*下划线跟随*/ ul{ display: flex; positi ...

  3. 纯CSS导航栏下划线跟随效果

    参考文章 <ul><li>111</li><li>2222</li><li>3333333</li><li&g ...

  4. css订单导航栏横线动画,小程序 纯css 实现tab导航栏下划线跟随动画

    很多时候在做tab导航的点击时我们都会要上一个过渡的动画,不然的话会显得生硬,用户没有达到比较佳的用户体验.如下图: 在开发者工具中预览效果 t3fyo-a07nj.gif 我们可以用两种方法实现这样 ...

  5. html导航去下划线,纯CSS实现导航栏下划线跟随的示例代码

    本篇文章主要介绍了纯CSS实现导航栏下划线跟随的示例代码,分享给大家,具体如下: 效果: 代码: html: aaaa bbbbbbb cccc dddd eeee css: ul { padding ...

  6. 纯CSS导航栏下划线滑动效果

    纯CSS导航栏下划线滑动效果 问题描述 面向 C 端的产品嘛,总有一些动效想要提高用户体验,以下是用纯 css 实现导航栏选中下划线滑动效果 解决方案 以下是实现效果: 主要代码如下: <tem ...

  7. js+css制作导航栏下划线跟随动画,App+H5点击效果

    这是使用Vue制作的一个下划线跟随效果,没有使用其他插件 目录 1. 制作一个初始的导航栏 2. 增加点击样式 3. 下划线移动 最终代码 注意事项 这是最终效果↓ 一开始从网上查其他人的做法,大部分 ...

  8. 水平导航栏+导航栏跟随+导航栏下划线滑动效果

    先放代码: HTML: <!doctype html> <html> <head> <meta charset="utf-8"> & ...

  9. js+css制作导航栏下划线跟随动画,自适应元素尺寸变化,Vue/Uniapp

    以前也写过一个差不多的,但上一个写的存在很多问题,尤其是css要使用 justify-content: space-around才能正常计算下滑宽度,导致了在很多场景都不实用,其实那一天就想到更好的解 ...

  10. 纯CSS实现导航栏下拉动画效果

    实现思路 导航栏的下拉效果通过在ul的li里再嵌套一个ul,再通过animation属性改变第二导航栏ul的高度来实现导航栏下拉动画效果.老铁没毛病. 实现效果: HTML代码 <div cla ...

最新文章

  1. LTE SIB1时频资源
  2. OPEN ERP相关财务的基本概念
  3. 三星s5能升级到android7.0,三星手机Android 7.0升级的最新列表: Galaxy S5,未注意Note 4...
  4. 什么?IP协议是什么你竟然不了解,那还不快快点进来!
  5. Spring 3.0 注解注入详解
  6. mysql解释器_atitit.java解析sql语言解析器解释器的实现
  7. Linux下的Shell编程之Helloworld.sh看过来
  8. Oralce 查看,修改,kill 连接数
  9. 服务器网站链接ip限制,apache服务器对同一IP地址的连接限制
  10. Flask-认识flask
  11. Cisco ASA ‘LU allocate xlate failed’排错一例
  12. 读谱对吉他手来说重要吗?试试它提升你的读谱效率
  13. keil4出现目标未被创建_STM32入门系列-创建寄存器模板
  14. 青山绿水 峡谷奇观---野三坡之行(转)
  15. MFC实现简易绘图软件
  16. MySQL-HA高可用
  17. 支付宝小程序物联网开发
  18. Kubernetes高可用集群搭建
  19. 绷紧数据安全这根弦 数据安全法 实施参考发布
  20. A股全市场股票历史行情低频日频EOD数据

热门文章

  1. opencv 梯度幅值_OpenCV学习:图像边缘检测
  2. pythonATM,购物车项目实战_补充7-start.py
  3. python 报了错TypeError: sequence item 0: expected str instance, int found
  4. IntelliJ Idea14 创建Maven多模块项目,多继承,热部署配置总结(一)
  5. LNMP平台部署及应用
  6. mapred linuxtaskcontroller目录权限问题探究
  7. WhatsApp拟取消服务订阅年费
  8. Struts2基础总结
  9. linux入门和简单应用举例
  10. The Future Of Mobile Development: HTML5 Vs. Native Apps