当前位置: 首页 > news >正文

CSS实现文本溢出省略号或完整显示

目录

  • 前言
  • 1. 省略号
  • 2. 完整展示
  • 3. Demo

前言

文本内容超出容器宽度的问题,为了保持页面布局的整洁,通常会使用省略号来隐藏多余的内容

一共有两种方式:

  1. 设定省略号
  2. 完整展示

1. 省略号

文本溢出时显示省略号

.item-value {flex-basis: 70%; /* 设置宽度为父元素的70% */white-space: nowrap; /* 禁止文本换行,强制单行显示 */overflow: hidden; /* 隐藏超出容器的内容 */text-overflow: ellipsis; /* 超出部分使用省略号表示 */cursor: pointer; /* 鼠标悬停时显示指针,表示可点击 */
}

在某些场景下,用户可能需要查看被省略的完整文本

通过CSS中的伪类和事件状态,可以实现类似长按或点击查看完整内容的效果

.item-value:active {white-space: normal; /* 允许多行显示 */overflow: visible; /* 显示完整内容,不再隐藏 */text-overflow: initial; /* 去除省略号 */
}

2. 完整展示

.item-value {flex-basis: 70%; /* 值占用70%宽度 */white-space: nowrap; /* 防止换行 */overflow: visible; /* 允许内容溢出时显示滚动条 */white-space: normal; /* 允许内容正常换行 */text-overflow: clip; /* 不显示省略号 */cursor: pointer; /* 鼠标悬停时显示指针,表示可以点击查看 */
}

3. Demo

整体Demo配合如下:

<template><view><!-- 搜索栏和新增风险按钮 --><view class="search-class bg-white"><view class="search-button bg-white" style="display: flex; justify-content: space-around;"><button v-if="checkPermission('ship:risk:create')" class="bg-green" style="width: 40%;" @click="dataInfo()">新增风险</button></view></view><!-- 数据内容卡片列表 --><view class="data-content"><uni-card class="card" v-for="item in dataList" :key="item.id" :extra="item.shipCod"><!-- 船舶信息列表 --><uni-list><!-- 船舶位置 --><view class="list-item-container"><text class="item-title">位置:</text><text class="item-value">{{ item.vesselPosition }}</text></view><!-- 船舶描述,文本溢出显示省略号 --><view class="list-item-container"><text class="item-title">描述:</text><text class="item-value">{{ item.vesselDescribe }}</text></view><!-- 图片展示,点击预览 --><view class="list-item-container"><text class="item-title">图片:</text><view class="item-value"><image :src="item.vesselPicture" mode="widthFix" class="vessel-image" @click="previewImage(item.vesselPicture)"></image></view></view></uni-list></uni-card></view></view>
</template><script>
export default {data() {return {dataList: [{ id: 1, vesselPosition: '广州港', vesselDescribe: '这是一个非常长的描述,测试文本溢出显示效果。', vesselPicture: 'https://via.placeholder.com/150', shipCod: 'COD001' },{ id: 2, vesselPosition: '深圳港', vesselDescribe: '描述二', vesselPicture: 'https://via.placeholder.com/150', shipCod: 'COD002' },// 更多数据项...]};},methods: {checkPermission(permission) {// 权限检查逻辑,返回true或falsereturn true; // 示例中暂时返回true},dataInfo() {// 新增风险的逻辑console.log('新增风险');},previewImage(imageUrl) {// 图片预览逻辑console.log('预览图片:', imageUrl);}}
};
</script><style scoped>
.data-content {padding: 20px;
}.card {margin-bottom: 20px;
}.list-item-container {display: flex;margin-bottom: 10px;
}.item-title {font-weight: bold;flex-basis: 30%;
}.item-value {flex-basis: 70%; /* 值占用70%宽度 */white-space: nowrap; /* 防止换行 */overflow: hidden; /* 隐藏溢出内容 */text-overflow: ellipsis; /* 超出部分显示省略号 */cursor: pointer; /* 鼠标悬停时显示指针,表示可以点击查看 */
}/* 长按显示完整内容 */
.item-value:active {white-space: normal; /* 长按时允许多行显示 */overflow: visible; /* 展示完整内容 */text-overflow: initial; /* 去掉省略号 */
}.vessel-image {width: 100px;height: auto;
}
</style>
http://www.lryc.cn/news/440973.html

相关文章:

  • three.js PropertyBinding和PropertyMixer
  • ssh远程连接try1账号切换tips
  • C++之第十二课
  • Linux硬连接、软连接和复制的区别
  • 基于STM32的无人小车自主避障系统设计
  • 杂牌鼠标侧键设置
  • Android WebView H5 Hybrid 混和开发
  • 智源推出下一代检索增强大模型框架MemoRAG
  • 【AprilTag】视觉定位实战 | 使用 ROS 驱动的 USB 摄像头进行相机标定与 AprilTag 识别
  • [数据集][目标检测]俯拍航拍森林火灾检测数据集VOC+YOLO格式6116张2类别
  • windows10下tomcat安装及配置教程
  • Spring MVC设置请求头和响应头的Header
  • 一个基于 laravel 和 amis 开发的后台框架, 友好的组件使用体验,可轻松实现复杂页面(附源码)
  • HTML讲解(二)head部分
  • Linux(Ubuntu)(终端实现helloworld输出)
  • 开源模型应用落地-qwen模型小试-调用Qwen2-VL-7B-Instruct-更清晰地看世界-集成vLLM(二)
  • 【乐企-工具篇】有关乐企发票文件生成- OFD和PDF文件生成
  • llama网络结构及源码
  • 828华为云征文|Flexus云服务器X实例部署宝塔运维面板
  • 计算机网络 8.*结构化布线
  • c#的委托、事件
  • Day23笔记-Day21和Day22作业讲解单例类
  • k8s中的存储
  • 【Linux进程控制】进程程序替换
  • 02 ETH
  • web渗透—RCE
  • HomeAssistant显示节假日
  • AI问答-HTTP:理解 Content-Disposition
  • kubernetes架构
  • 【隐私计算篇】中国剩余定理解释以及Paillier解密加速应用