html下划线 下移,css如何实现下划线滑动效果

5268f80b9b1e01f982625ef6fac83ca1.png

fbdaea44cc4240c825b4ebdb2672376e.png

本文主要讲述两种下划线动效效果,第一种悬停时X轴由内向外展开实现动画效果,第二种为左右自动展示,由左向右,或由右向左。

实现的主要效果是利用伪类标签,以及hover,利用transfromm trition实现动画效果。

x轴由内向外展开

15c9be069c152df50195decffc24c2f5.png

利用贝塞尔曲线利用横线的动画实现,具体代码如下:ul {

display: flex;

padding: 0;

margin: 0;

list-style-type: none;

}

ul:hover li:not(:hover) a {

opacity: 0.2;

}

ul li {

position: relative;

padding: 30px 25px 30px 25px;

cursor: pointer;

}

ul li::after {

position: absolute;

content: "";

top: 100%;

left: 0;

width: 100%;

height: 2px;

background: #3498db;

transform: scaleX(0);

transition: 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);

}

ul li:hover::after, ul li.active::after {

transform: scaleX(1);

}

(推荐教程:CSS教程)

左右横移下划线动画特效

7bf24437d8e29f6da8670e9b187f30ff.png

主要利用js判断鼠标移开时的位置,对动画效果的进行左右移入移出显示

js代码如下:document.querySelectorAll('a').forEach(elem => {

elem.onmouseenter =

elem.onmouseleave = e => {

const tolerance = 5;

const left = 0;

const right = elem.clientWidth;

let x = e.pageX - elem.offsetLeft;

if (x - tolerance < left) x = left;

if (x + tolerance > right) x = right;

elem.style.setProperty('--x', `${x}px`);

};

});

css 利用伪类标签进行动画效果的动画实现

css代码如下:a {

position: relative;

font-weight: 600;

text-decoration: none;

color: rgba(0, 0, 0, 0.4);

transition: color .3s ease;

}

a::after {

--scale: 0;

content: '';

position: absolute;

left: 0;

right: 0;

top: 100%;

height: 3px;

background: #4c81c9;

-webkit-transform: scaleX(var(--scale));

transform: scaleX(var(--scale));

-webkit-transform-origin: var(--x) 50%;

transform-origin: var(--x) 50%;

transition: -webkit-transform 0.3s cubic-bezier(0.535, 0.05, 0.355, 1);

transition: transform 0.3s cubic-bezier(0.535, 0.05, 0.355, 1);

transition: transform 0.3s cubic-bezier(0.535, 0.05, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.535, 0.05, 0.355, 1);

}

a:hover {

color: #4c81c9;

}

a:hover::after {

--scale: 1;

}

相关教程推荐:css视频教程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/409344.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

已知网友建立html,职称计算机模拟试题:Dreamweaver网页设计模拟试题及答案(5)...

52、在使用时间链时&#xff0c;用“Record Path of Layer”命令记录层的路径&#xff0c;关于关键点的说法正确的是(CD)A、用户拖动层的速度越快&#xff0c;则划分出的关键点越多B、用户拖动层的速度越快&#xff0c;则划分出的关键点越少C、用户可以通过改变拖动的速度来变更…

html设计网页技巧,网页设计技巧:网页表格设计技巧总结

一个好的表格应该以易于理解&#xff0c;简单明了的方式传递大量的信息。真正的重点应该 放在信息上&#xff0c; 对表格的过度设计会抵消这种作用。从另一方面来说&#xff0c;巧妙的设计不仅可以使一个表格更具吸引力&#xff0c; 而且可以增加可读性。表格信息通常是很乏味的…

【原】unity shader(3)反射贴图

改编自《cg教程--可编程实时图形学权威指南》上的demo。 反射向量计算公式 RI-2N(N*I) 备注N*I是点乘 I入射光线&#xff0c;N法向量 函数实现&#xff1a; float3 reflect(float3 I,float3 N) { return I-2.0*N*dot(N,I); } Shader "CG shader Reflect"{Propertie…

html 显示不吃,20180902_html_第二次_张旺

Frequently Asked QuestionsIs it secure to send my companys information to COMIS?How can I enable SSL for my computer?1. Is it secure to send my companys information to COMIS?Your company information is protected by your unique user name and passwordwhic…

如何禁用计算机的服务,如何彻底禁用电脑中的迅雷服务XLservicePlatform

‍有用户发现电脑系统安装了迅雷极速版或迅雷7之后就会出现一项服务XLservicePlatform&#xff0c;不仅默认开机自动启动&#xff0c;而且还占用CPU资源。一般的方法无法将其彻底禁用。对此&#xff0c;我们可以参考接下来提供的方法来彻底禁用电脑中的迅雷服务XLservicePlatfo…

唐山师范学院计算机二级报名,2017年3月唐山师范学院计算机等级考试报名时间(河北)...

唐山师范学院2017年上半年全国计算机等级考试(以下简称NCRE)将于3月份举行。按照教育部考试中心有关要求&#xff0c;现就报名工作有关事项通知如下&#xff1a;一、考试时间2017年上半年NCRE时间为3月25日-28日。二、报名事项说明(一)报名时间2017年上半年NCRE报名工作于2017年…

idea html ajax,在 IntelliJ IDEA 8.1中编写一个ajax jquery实例,取不到页面上的值

在 IntelliJ IDEA 8.1中编写一个ajax jquery实例&#xff0c;取不到页面上的值0brnm12942014.08.17浏览115次分享举报public class AjaxServlet extends HttpServlet{protected void doGet(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse)th…