鼠标悬停下划线显示特效,html鼠标悬停显示下划线
HTML 显示 特效 下划线 鼠标悬停
2023-06-13 09:11:33 时间
大家好,又见面了,我是你们的朋友全栈君。
html:
(index.html)
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title>鼠标悬停下划线</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<nav>
<a href="#">首页</a>
<a href="#">产品展示</a>
<a href="#">新闻资讯</a>
<a href="#">关于我们</a>
</nav>
<script src="js/index.js"></script>
</body>
</html>
css3:
(style.css)
body {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background: #f8f8f8;
font: normal 400 130%/1.5 -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif;
}
nav {
display: grid;
grid-auto-flow: column;
grid-gap: 1em;
}
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;
}
js代码段:
(index.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`);
};
});
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/145981.html原文链接:https://javaforall.cn
相关文章
- 图片下划线 html,HTML <U>下划线标签元素 HTML下划线标签「建议收藏」
- jsp中<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” 。。的重要性「建议收藏」
- css中placeholder用法_html placeholder
- 图片中加入超链接html代码,html网页超链接代码 怎样用HTML代码在图片插入超链接…
- HTML5期末大作业:大学生个人网站设计——我们的班级(7页) HTML+CSS+JavaScript 学生DW网页设计作业成品 html网页制作代码大全 html5网页设计作业代码
- HTML制作网页_手机制作html网页
- 怎么修改HTML网页的名字_如何修改html文件内容
- Extjs4.2 window加载HTML,父子页面html传参
- 解决HTML中换行会出现间隙问题
- HTML的form表单标签详解编程语言
- MySQL与HTML的无缝连接(html与mysql连接)
- HTML 计算机代码
- HTML <big> 标签
- HTML与MongoDB结合的动态网站设计(htmlmongodb)
- 从HTML链接搭建Oracle数据库(html链接oracle)
- HTML连接Oracle利用JavaScript即可实现(html连接oracle)
- 使用Javascript和DOMInterfaces来处理HTML
- 找到html标记对应的脚本属性
- PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
- 解析PHP生成静态html文件的三种方法