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

html下划线 下移,css如何实现下划线滑动效果本文主要讲述两种下划线动效效果,第一种悬停时X轴由内向外展开实现动画效果,第二种为左右自动展示,由左向右,或由右向左。实现的主要效果是利用伪类标签,以及hover,利用transfrommtrition实现动画效果。x轴由内向外展开利用贝塞尔曲线利用横线的动画实现,具体代码如下:ul{display:flex;padding:0;margin:0;list-style-type:non…

大家好,又见面了,我是你们的朋友全栈君。

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视频教程

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139950.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Nginx出现403 forbidden

    Nginx出现403 forbiddennginx访问时报403,于是查看nginx日志,路径为/var/log/nginx/error.log。打开日志发现报错Permissiondenied,详细报错如下:1.open()"/data/www/1.txt"failed(13:Permissiondenied),client:192.168.1.194,server:www.web1.com,re…

    2022年6月11日
    155
  • 因果推断学习笔记三——Uplift模型「建议收藏」

    因果推断学习笔记三——Uplift模型「建议收藏」一、Uplift模型因果推断在互联网界应用主要是基于Upliftmodel来预测额外收益提升ROI。Uplift模型帮助商家计算人群营销敏感度,驱动收益模拟预算和投放策略制定,促成营销推广效率的最大化。同时如何衡量和预测营销干预带来的“增量提升”,而不是把营销预算浪费在“本来就会转化”的那部分人身上,成为智能营销算法最重要的挑战。举个例子????:对用户A和用户B都投放广告,投放广告后用户A的CVR(转化量/点击量)为5%,用户B的CVR为4%,那么是否就给用户A投广告呢?仅从投放广告后的结果来看是这

    2025年5月23日
    0
  • Google Maps_Google桌面搜索

    Google Maps_Google桌面搜索GoogleBuzz从诞生那天起就跟位置服务紧密连接在了一起,我们可以在移动GoogleMaps里看到大家都在哪里发送Buzz(只要他们发送的时候让Google记录自己的位置),这个功能非常有趣,特别是在某些特殊事件发生之时,可以按照位置看到某个区域里的人们都在想什么做什么(而不是按照timeline的传统方式)。今天,Google在桌面地图服务里也开放了Buzz图层(之…

    2022年10月15日
    0
  • 服务器中心地址,互联网时间同步服务器地址(国家授时中心服务器)[通俗易懂]

    服务器中心地址,互联网时间同步服务器地址(国家授时中心服务器)[通俗易懂]中新创科技研制开发的DNTS,Windowstime服务用于和Internet同步系统时间。xp自带的时间同步服务器老是会连不上,这里就教大家换成中科院国家授时中心的服务器。中国国家授时中心的时间服务器IP地址及时间同步方法大家都知道win7旗。用来同步电脑的时间的服务器、DNTS。为更好的满足用户的需求。网络授时服务器的域名为ntp。同步就方便多了,然后键入w32tmregister正确的响应为…

    2022年7月16日
    11
  • 英语词根词缀记忆法总口诀_词根词缀记忆法的利弊

    英语词根词缀记忆法总口诀_词根词缀记忆法的利弊英语词根词缀记忆法(全集) 前言        英语单词的构词规律也是有规可寻的。单词是由词素构成的,词素派生出词义。单词的数量虽然浩瀚,但构成其的词素的数量却是有限的。如果掌握了词素,懂得基本的构词方法,就能容易地识记单词,突破记忆单词这一难关。词素又是由词根和词缀两部分组成的,而词缀又分为前缀和后缀。常用的252个词根和289个词缀,掌握了这些词素便可掌握绝大

    2022年9月19日
    0
  • API之FindWindowEx和SendMessage

    API之FindWindowEx和SendMessage最近在VC6.0开发中碰到了两个函数,经过一番搜索查阅,特记录于此。

    2022年5月27日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号