【问题标题】:Flex div not resize by contentFlex div 不按内容调整大小
【发布时间】:2017-05-28 18:54:51
【问题描述】:

下面是应该工作的示例:

*{
  border: solid 1px blue;
  box-sizing: border-box;
/*   padding: 0; */
  margin: 0;
}

html {
  height: 100%;
}
body {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.content {
  flex: 1;
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.middle{
  background: gray;
  width: 500px;
}
.footer {
}
<div class="content">
  <div class="middle">
    <div>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</div>
    <div>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</div>
    <div>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</div>
    <div>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</div>
    <div>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</div>
    <div>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</div>
    <div>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</div>
    <div>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</div>
    </div>
</div>

<footer class="footer">
  Footer 
</footer>

它可以工作,但仅在 jsfiddle 示例和 firefox 中有效,但在 Chrome 中它看起来像这样:

但是 jsfiddle 示例在 Chrome 中进行了测试。谁能帮帮我?

【问题讨论】:

  • 您使用的是哪个版本?,我无法在 chrome 上重现此错误
  • Chrome 版本为 55.0.2883.87
  • 将 HTML 高度更改为自动它可能会受到限制,或者在 HTML 中设置溢出:自动。

标签: html css google-chrome flexbox


【解决方案1】:

终于找到了答案:

弹性:1; 这是 flex-grow、flex-shrinkflex-basis 组合的简写。第二个和第三个参数(flex-shrink 和 flex-basis)是可选的。默认为 0 1 自动

使用 flex-grow: 1; 代替 flex: 1; 解决我的问题。

【讨论】:

    【解决方案2】:

    尝试从中间移除宽度

    *{
      border: solid 1px blue;
      box-sizing: border-box;
    /*   padding: 0; */
      margin: 0;
    }
    
    html {
      height: 100%;
    }
    body {
      min-height: 100%;
      display: flex;
      flex-direction: column;
    }
    .content {
      flex: 1;
      display: flex;
      flex-direction: row;
      justify-content: center;
    }
    .middle{
      background: gray;
     }
    .footer {
    }
    

    【讨论】:

    • 还是一样,但现在是内容宽度。但我需要按内容调整高度。
    猜你喜欢
    • 2019-09-10
    • 2015-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-16
    • 2015-11-26
    相关资源
    最近更新 更多