技术文摘
父元素内子元素两行排列、超出隐藏且显示省略号按钮的实现方法
2025-01-09 14:49:12 小编
在前端开发中,实现父元素内子元素两行排列、超出隐藏且显示省略号按钮的效果,能有效提升页面布局的美观与信息展示的合理性。以下将详细介绍这一效果的实现方法。
HTML结构搭建是基础。我们需要创建一个父元素,在其中放置多个子元素。例如:
<div class="parent">
<div class="child">这里是子元素的内容,可能比较长,会超出两行</div>
<div class="child">另一个子元素内容</div>
</div>
接着,通过CSS来实现核心样式。对于父元素,设置宽度和高度以限定其显示范围,并开启溢出隐藏功能,确保超出部分不显示。例如:
.parent {
width: 300px;
height: 60px; /* 根据两行文字高度设置 */
overflow: hidden;
position: relative;
}
对于子元素,要实现两行排列,可使用弹性布局或浮动布局。这里以弹性布局为例:
.child {
display: flex;
flex-wrap: wrap;
line-height: 30px; /* 每行文字高度 */
max-height: 60px; /* 两行文字总高度 */
overflow: hidden;
text-overflow: ellipsis;
white-space: normal;
}
其中,text-overflow: ellipsis 是关键,它能让超出的文字显示为省略号。但此时省略号在内容中间,不太美观,我们还需进一步处理。
为了显示省略号按钮,我们可以在父元素内添加一个伪元素,模拟按钮效果。例如:
.parent::after {
content: '...';
position: absolute;
bottom: 0;
right: 0;
background-color: white;
padding: 0 5px;
}
这样,一个简单的省略号按钮就显示出来了。但在实际应用中,可能还需要添加交互效果,比如点击按钮展开全部内容。这可以通过JavaScript来实现。
const parent = document.querySelector('.parent');
const child = document.querySelector('.child');
parent.addEventListener('click', function() {
if (child.style.maxHeight === '60px') {
child.style.maxHeight = 'none';
} else {
child.style.maxHeight = '60px';
}
});
通过上述HTML、CSS和JavaScript的配合使用,就能完美实现父元素内子元素两行排列、超出隐藏且显示省略号按钮的效果,为用户带来更好的视觉体验。
- 构建表结构存储海量对象-属性-值关系及提升搜索效率的方法
- MySQL 存储过程 Num 输出恒为 0:怎样解决 TempSno 变量未设默认值问题
- 联合索引查询效率对比:怎样判断最慢查询并查看命中字段
- 单表数据量过大时怎样挑选分库分表方案
- 百万级数据量时帖子详情与附件关联表设计的更优方案探讨
- SQL 查询获取文章及其前 5 条评论的方法
- 怎样轻松把数据导入 PostgreSQL
- 百万级MySQL表结构修改如何有效规避风险
- MySQL中Block Nested-Loop Join算法怎样优化Nested-Loop Join
- SQL 中 UPDATE IGNORE 语法怎样忽略冲突更新操作
- 海量键值对数据如何实现高效存储与搜索
- SQL 里 ntile 函数怎样划分样本
- PHP将JSON数组循环插入数据库:大量数据高效处理方法
- 大批量数据上传程序如何优化以提升效率
- 怎样把设备类别表数据填入设备表的 device_category_name 字段