文字溢出隐藏及鼠标悬停显示效果

简介: 文字溢出隐藏及鼠标悬停显示效果

在本文中,我们将学习如何使用 CSS 和 JavaScript 实现一个简单的文字溢出隐藏效果,当鼠标悬停在文本上时显示完整内容。

创建 HTML 页面结构

首先,我们需要创建一个包含文本内容的 HTML 页面。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>Text Overflow Hover Effect</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <h1 class="text-overflow">This is a long text that will overflow and hide when it exceeds the container width.</h1>
 
 <script src="scripts.js"></script>
</body>
</html>

添加 CSS 样式

接下来,我们为页面添加一些基本的样式以及实现文字溢出隐藏的效果。创建一个名为 styles.css 的文件,并添加以下内容:

body {
    font-family: Arial, sans-serif;
    text-align: center;
}
 
.text-overflow {
    width: 300px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

在这里,我们设置了一个固定宽度的容器(width: 300px),并使用 white-space: nowrapoverflow: hiddentext-overflow: ellipsis 实现文字溢出隐藏效果。

编写 JavaScript 代码

现在我们已经准备好编写 JavaScript 代码来实现鼠标悬停时显示完整文本的效果。首先创建一个名为 scripts.js 的文件,然后添加以下代码:

document.querySelector('.text-overflow').addEventListener('mouseover', function () {
    this.style.whiteSpace = 'normal';
});
 
document.querySelector('.text-overflow').addEventListener('mouseout', function () {
    this.style.whiteSpace = 'nowrap';
});


在这里,我们为 .text-overflow 元素添加了两个事件监听器:当鼠标悬停在文本上时,设置 white-spacenormal 以显示完整内容;当鼠标离开时,设置 white-spacenowrap 以恢复溢出隐藏效果。

目录
相关文章
|
前端开发
CSS文字溢出显示省略号,且出现title或者tooltip
CSS文字溢出显示省略号,且出现title或者tooltip
12514 0
CSS文字溢出显示省略号,且出现title或者tooltip
|
前端开发 JavaScript 容器
文字溢出隐藏及鼠标悬停显示效果
文字溢出隐藏及鼠标悬停显示效果
707 0
|
JavaScript
基于Vue3+TS简单设计一个查看文章时点击展开和点击收起的小功能
该文章展示了如何使用Vue 3和TypeScript创建一个简单的展开和收起功能,用于文章查看时的交互体验。
630 0
基于Vue3+TS简单设计一个查看文章时点击展开和点击收起的小功能
|
Web App开发 移动开发 JavaScript
分享116个JS特效动画效果,总有一款适合您
分享116个JS特效动画效果,总有一款适合您
860 0
|
存储 前端开发 JavaScript
通过JavaScript压缩图片
通过JavaScript压缩图片
545 0
|
JavaScript
JS 数组去重(含简单数组去重【5种方法】、对象数组去重【2种方法】)
JS 数组去重(含简单数组去重【5种方法】、对象数组去重【2种方法】)
2009 0
|
8月前
|
JavaScript 安全
vue3使用ts传参教程
Vue 3结合TypeScript实现组件传参,提升类型安全与开发效率。涵盖Props、Emits、v-model双向绑定及useAttrs透传属性,建议明确声明类型,保障代码质量。
659 0
Vue3】vite打包报错:块的大小超过限制,Some chunks are larger than 500kb after minification
Vue3】vite打包报错:块的大小超过限制,Some chunks are larger than 500kb after minification
3502 0
|
JavaScript 内存技术
解决node.js版本过高报错问题(Error: error:0308010C:digital envelope routines::unsupported)
解决node.js版本过高报错问题(Error: error:0308010C:digital envelope routines::unsupported)
1223 0
解决node.js版本过高报错问题(Error: error:0308010C:digital envelope routines::unsupported)
|
Web App开发
成功解决Chrome浏览器 控制台下看不到接口信息的问题
这篇文章提供了解决Chrome浏览器控制台不显示接口信息问题的方法,包括检查过滤设置和确保“保留日志”开关已打开。
成功解决Chrome浏览器 控制台下看不到接口信息的问题