html - 使用 flexbox 列时,如何使最大宽度居中的 div 不被折叠?

标签 html css flexbox

我有 3 个 div 垂直堆叠在容器中。我希望中间的 div 居中,但继续尽可能地水平扩展,但小于最大宽度。就像普通的 div 在没有 flexbox 的情况下使用 max-width 一样。

https://codepen.io/anon/pen/XaQXOW

CSS

.cont {
  display: flex;
  flex-direction: column;
}

.b {
  max-width: 500px;
  background-color: cyan;
}
.a, .b, .c {
  border: 1px solid #000;
  height: 100px;
}

html

<div class="cont">
  <div class="a"></div>
  <div class="b"></div>
  <div class="c"></div>
</div>

最佳答案

设置 align-self: center; 使你的 div 居中并添加 width: 100%:

.cont {
  display: flex;
  flex-direction: column;
}

.b {
  max-width: 500px;
  background-color: cyan;
  align-self: center;
  width: 100%;
  box-sizing: border-box;
}

.a, .b, .c {
  border: 1px solid #000;
  height: 100px;
}
<div class="cont">
  <div class="a"></div>
  <div class="b"></div>
  <div class="c"></div>
</div>

关于html - 使用 flexbox 列时,如何使最大宽度居中的 div 不被折叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46049068/

相关文章:

javascript - 为什么我的按钮不起作用?

javascript - 动态加载 Sublime HTML5 视频播放器

css - 无法自定义 `size` 的 `shinyBS::bsButton` 参数

javascript - 将javascript添加到wordpress页面

javascript - 可滚动的 div 粘在底部,当外部 div 的大小发生变化时

html - 嵌套 flexbox 优化

java - 需要在 HTML+JavaScript 的客户端和 Java/C++ 的服务器端程序之间进行通信

javascript - 内联简单幻灯片 jQuery/UI 图像

css - 默认边距 a4 打印

html - 两个元素彼此重叠,其父项的高度调整为其中较大的一个