如何实现父元素内两行子元素排布,超出部分隐藏,点击省略号按钮显示并出现横向滚动条?
两行排列父元素子元素,隐藏超出部分
你想在父元素内有两行子元素排布,且超出部分在一开始被隐藏,直到点击省略号按钮时显示,并出现横向滚动条。
实现方法:
<div id="container"> <div id="flex-container"> <div class="item">item1</div> <!-- 其它内容块 --> <div id="more">...</div> </div> </div>
#container { width: 400px; height: 200px; border: 1px solid red; overflow-x: hidden; /* 超出部分隐藏 */ } #flex-container { width: 800px; /* 内容块总宽度超出父元素 */ display: flex; flex-wrap: wrap; /* 换行排列 */ justify-content: space-around; } #more { display: none; /* 初始隐藏省略号按钮 */ }
- 使用 javascript 来切换容器的 overflow 属性:
document.getElementById("more").onclick = function() { this.style.display = "none"; document.getElementById("container").style.overflowX = "scroll"; };
基本原理:
- 父元素 #container 设置overflow-x: hidden,隐藏超出部分。
- 内容块容器 #flex-container 设置较宽,flex-wrap: wrap 实现换行排列。
- #more 按钮初始隐藏,点击后切换 #container 的 overflow-x 为 scroll,显示超出部分和滚动条。
以上就是如何实现父元素内两行子元素排布,超出部分隐藏,点击省略号按钮显示并出现横向滚动条?的详细内容,更多请关注硕下网其它相关文章!