在CSS中,鼠标悬停时底部一半的隐藏文本显示器
在这个CSS效果中,文本的底部一半被隐藏,当用户悬停在文本上时,文本的一部分变得可见。可以通过给要隐藏的文本设置为0亮度,并使用clip-path属性使其可见来创建此效果。使用JavaScript获取游标位置。
步骤:
- 创建一个名为index.html的HTML文件。
- 创建两个div元素,一个类名为upper_text,另一个类名为pointer。
- 在CSS中为这两个类添加样式。
- 确保给这两个div元素同时设置相同的样式,即尺寸和位置必须完全相同,以便这两个div重叠在一起。
- 使用clip-path属性在upper_text div元素中剪切文本的上半部分。
- 在index.html文件中添加一个script标签。
- 在文档上添加事件监听器以监听mousemove事件。
- 获取类名为pointer的HTML元素的引用。
- 获取光标的当前位置并更改指针元素的样式。在当前光标位置剪切一个预定义半径的圆圈,使文本在该半径内可见。
示例: 在这个示例中,我们将实现上述解释的方法。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible"
content="IE=edge">
<meta name="viewport" content=
"width=device-width, initial-scale=1.0">
<style>
* {
padding: 0;
margin: 0;
box-sizing: border-box;
overflow: hidden;
background-color: black;
}
.upper_text,
.pointer {
position: fixed;
top: 40vh;
left: 40vw;
width: 350px;
color: chartreuse;
font-size: 50px;
cursor: all-scroll;
}
.upper_text {
clip-path: polygon(0% 0%,
100% 0%, 100% 50%, 0% 50%);
}
</style>
</head>
<body>
<div class="upper_text">
Geeks For Geeks
</div>
<div class="pointer">
Geeks For Geeks
</div>
<script>
document.addEventListener('mousemove', (e) => {
const pointer = document.querySelector('.pointer');
pointer.style.clipPath =
`circle(30px at {e.offsetX}px{e.offsetY}px)`;
});
</script>
</body>
</html>
输出:

极客教程