如何实现父元素内两行子元素排布,超出部分隐藏,点击省略号按钮显示并出现横向滚动条?

如何实现父元素内两行子元素排布,超出部分隐藏,点击省略号按钮显示并出现横向滚动条?

两行排列父元素子元素,隐藏超出部分

你想在父元素内有两行子元素排布,且超出部分在一开始被隐藏,直到点击省略号按钮时显示,并出现横向滚动条。

实现方法:

  1. 使用 html css 创建一个包含内容块的容器:
<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; /* 初始隐藏省略号按钮 */
}
  1. 使用 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,显示超出部分和滚动条。

以上就是如何实现父元素内两行子元素排布,超出部分隐藏,点击省略号按钮显示并出现横向滚动条?的详细内容,更多请关注硕下网其它相关文章!