html – 在Firefox中绝对定位的flex项目不会从正常流程中删除

前端之家收集整理的这篇文章主要介绍了html – 在Firefox中绝对定位的flex项目不会从正常流程中删除前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们有两个div的内容,第三个div是绝对位置的背景.

容器是一个flexBox.

Chrome和Safari都可以正常工作,但Firefox会计算绝对定位的div,并且在div之间分配空格,就像连续有3个div.

我做了jsfiddle的例子.有没有办法解决这个bug?
https://jsfiddle.net/s18do03e/2/

  1. div.container {
  2. display: flex;
  3. flex-direction: row;
  4. width: 100%;
  5. height: 300px;
  6. justify-content: space-between;
  7. width: 100%;
  8. outline: 1px solid;
  9. }
  10. div.c1 {
  11. background: #aaeecc;
  12. width: 100px;
  13. position: relative;
  14. z-index: 50;
  15. top: 20px;
  16. display: flex;
  17. }
  18. div.c2 {
  19. background: #cceeaa;
  20. width: 200px;
  21. position: relative;
  22. z-index: 50;
  23. top: 20px;
  24. display: flex;
  25. }
  26. div.bg {
  27. background: #ccc;
  28. width: 100%;
  29. height: 100%;
  30. z-index: 0;
  31. left: 0px;
  32. top: 0px;
  33. position: absolute;
  34. display: flex;
  35. }
  1. <div class="container">
  2. <div class="c1">Content 1</div>
  3. <div class="c2">Content 2</div>
  4. <div class="bg">Background</div>
  5. </div>

解决方法

正在发生,因为合理内容:空格之间;均匀分配项目开始时的第一个项目,最后一个项目.所以只是putt< div class =“bg”> Background< / div>在< div class =“c1”>内容1< / div>之间和< div class =“c2”>内容2< / div>
喜欢这个
  1. <div class="container">
  2. <div class="c1">Content 1</div>
  3. <div class="bg">Background</div>
  4. <div class="c2">Content 2</div>
  5.  
  6. </div>

你可以看到https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content的原因

猜你在找的HTML相关文章