html – Flexbox项目换行到新行[复制]

前端之家收集整理的这篇文章主要介绍了html – Flexbox项目换行到新行[复制]前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Line break in multi-line flexbox7个
有一个flexBox网格.
  1. .flex {
  2. display: flex;
  3. flex-wrap: wrap;
  4. border: 2px solid red;
  5. }
  6.  
  7. .item {
  8. width: 50px;
  9. height: 50px;
  10. margin: 5px;
  11. border: 2px solid blue;
  12. }
  1. <div class="flex">
  2. <div class="item"></div>
  3. <div class="item"></div>
  4. <div class="item new-string"></div>
  5. </div>

如何将.new-string与其后的元素一起转移到新行?

解决方法

如果你看 this great answer,你会注意到唯一的跨浏览器方式(没有2个换行符限制)是插入100%-width空块(“换行符”).所以对于类似的标记,这看起来像
  1. .flex {
  2. display: flex;
  3. flex-wrap: wrap;
  4. border: 2px solid red;
  5. }
  6.  
  7. .item {
  8. width: 50px;
  9. height: 50px;
  10. margin: 5px;
  11. border: 2px solid blue;
  12. }
  13.  
  14. .line-break {
  15. width: 100%;
  16. }
  1. <div class="flex">
  2. <div class="item"></div>
  3. <div class="item"></div>
  4. <div class="item"></div>
  5. <div class="line-break"></div>
  6. <div class="item"></div>
  7. <div class="item"></div>
  8. <div class="line-break"></div>
  9. <div class="item"></div>
  10. <div class="line-break"></div>
  11. <div class="item"></div>
  12. <div class="item"></div>
  13. <div class="item"></div>
  14. </div>

如果要保留标记样式,则必须通过JavaScript插入此换行符块:

  1. var items = document.querySelectorAll(".flex > .item.new-string");
  2.  
  3. for (var i = 0; i < items.length; i++) {
  4. var lineBreak = document.createElement('div');
  5. lineBreak.className = "line-break";
  6.  
  7. items[i].parentNode.insertBefore(lineBreak,items[i]);
  8. }
  1. .flex {
  2. display: flex;
  3. flex-wrap: wrap;
  4. border: 2px solid red;
  5. }
  6.  
  7. .item {
  8. width: 50px;
  9. height: 50px;
  10. margin: 5px;
  11. border: 2px solid blue;
  12. }
  13.  
  14. .line-break {
  15. width: 100%;
  16. }
  1. <div class="flex">
  2. <div class="item"></div>
  3. <div class="item"></div>
  4. <div class="item"></div>
  5. <div class="item new-string"></div>
  6. <div class="item"></div>
  7. <div class="item new-string"></div>
  8. <div class="item new-string"></div>
  9. <div class="item"></div>
  10. <div class="item"></div>
  11. </div>

猜你在找的HTML相关文章