在不使用媒体查询的情况下包装弹性项目后使其全宽



在这里使用flexbox。是否有可能使重叠元素在没有媒体查询的情况下被推下后全宽?

见附柱塞:https://plnkr.co/edit/mxACfJ2VR5yNgP9j8WJh?p=preview

调整预览窗口的宽度小于425px。第三个元素被下压然后我想把它设为全宽。当它与其他2个元素在同一行时,它不能增长。

.flexContainer {
  display: flex;
  flex-wrap: wrap;
  border: 1px solid;
}
.img {
  width: 110px;
  height: 110px;
  background: red;
}
.flexItem {
  flex-basis: 200px;
  flex-grow: 1;
  background: #ff1;
}
.wrapItem {
  flex-basis: 100px;
  background: #aab;
}
<div class="flexContainer">
  <div class="img">fixed size img here</div>
  <div class="flexItem">This flexes</div>
  <div class="wrapItem">This wraps</div>
</div>

你不能那样做。但是你可以很接近。

将伸缩项的生长设置为一个很大的值(9999),并将换行项的生长设置为1

 .flexContainer {
    display:flex;
    flex-wrap:wrap;
    border: 1px solid;
  }
  .img {
    width:110px;
    height:110px;
    background:red;
  }
  .flexItem {
    flex-basis:200px;
    flex-grow:9999;
    background:#ff1;
  }
  .wrapItem {
    flex-basis:100px;
    flex-grow:1;
    background:#aab;
  }
  <body>
    <div class="flexContainer">
      <div class="img">fixed size img here</div>
      <div class="flexItem">This flexes</div>
      <div class="wrapItem">This wraps</div>
    </div>
  </body>

您没有告诉该元素允许通过添加flex-grow:1

来增长

.flexContainer {
    display:flex;
    flex-wrap:wrap;
    border: 1px solid;
}
.img {
    width:110px;
    height:110px;
    background:red;
}
.flexItem {
    flex-basis:200px;
    flex-grow:1;
    background:#ff1;
}
.wrapItem {
    flex-grow:1;
    flex-basis:100px;
    background:#aab;
}
<div class="flexContainer">
    <div class="img">fixed size img here</div>
    <div class="flexItem">This flexes</div>
    <div class="wrapItem">This wraps</div>
</div>

<

JSfiddle演示/strong>

相关内容

最新更新