css - 完全隐藏不完全适合其父级可见部分的 block 元素

标签 css

假设我在一个容器中有三个 block 元素。黑线表示容器。蓝色框是其中的三个 block 元素。

Elements

这三个元素不太合适。如果我在外部元素上设置 overflow: hidden,我将看到前两个元素和部分第三个元素。

我想要的是只显示完全适合容器的元素。

Elements, corrected

这可以用 CSS 实现吗?

最佳答案

是的,Flexbox 是可以的,你需要设置 flex-direction: column , flex-wrap: wrap 还有 溢出:隐藏

此外,您还需要在 flex-childs 上设置全宽或 calc(100% - margin),这样当最后一个元素包裹自己时,它将超出父元素并且 overflow: hidden parent 将负责休息。

* {
  box-sizing: border-box;
}
.container {
  height: 200px;
  width: 200px;
  border: 1px solid black;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  overflow: hidden;
}
.box {
  flex: 0 0 70px;
  width: calc(100% - 10px);
  margin: 5px;
  background: #46A1FF;
}
<div class="container">
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
</div>

关于css - 完全隐藏不完全适合其父级可见部分的 block 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39537800/

相关文章:

html - div溢出时如何自动使用滚动条

jquery - 如何删除导航和主要内容之间多余的空白?

javascript - 当元素进入视口(viewport)时,在离开视口(viewport)之前水平滚动其全部内容

jquery - 图像元素不会缩放到 Firefox 或 Chrome 中的屏幕大小?

html - 宽度为 100% 的 SVG 溢出其容器

css - 一个 CSS 类可以继承一个或多个其他类吗?

html - 列表元素中的链接干扰悬停样式

javascript - 更改悬停在拉斐尔元素上的光标

html - 无法使用 bootstrap 3 设置列的高度

css - 如何制作具有很多字段的响应表