代码之家  ›  专栏  ›  技术社区  ›  Yairopro

为什么flexbox的开头是隐藏的?如何解决以项目为中心的问题?[副本]

  •  2
  • Yairopro  · 技术社区  · 7 年前

    在下面的片段中, 您将无法看到flexbox的第一个项目 .
    为什么? 如何解决这个问题,以便用户可以水平滚动查看所有项目?

    <div style="display: flex; justify-content: center; overflow: auto; padding: 30px 0">
      <div style="padding: 0 15px">AAAAAA</div>
      <div style="padding: 0 15px">BBBBBB</div>
      <div style="padding: 0 15px">CCCCCC</div>
      <div style="padding: 0 15px">DDDDDDD</div>
      <div style="padding: 0 15px">EEEEEEE</div>
      <div style="padding: 0 15px">FFFFFFF</div>
      <div style="padding: 0 15px">GGGGGGG</div>
      <div style="padding: 0 15px">HHHHHHH</div>
      <div style="padding: 0 15px">iiiiiii</div>
      <div style="padding: 0 15px">JJJJJJJ</div>
      <div style="padding: 0 15px">KKKKKKK</div>
      <div style="padding: 0 15px">LLLLLLL</div>
      <div style="padding: 0 15px">MMMMMMM</div>
      <div style="padding: 0 15px">OOOOOOO</div>
    </div>
    
    <div style="text-align: center">Scroll horizontally the letters above.</div>
    4 回复  |  直到 7 年前
        1
  •  1
  •   Bikas Finn-Dev    7 年前

    flex尝试在同一行中容纳每个项目。如果要保持项目居中,请添加 flex-wrap: wrap 到容器。如果你想把它们放在同一行,尽管你必须改变 justify-content flex-start . 下面是 flex-wrap 解决方案。

    <div style="display: flex; flex-wrap: wrap; justify-content: center; overflow: auto; padding: 30px 0">
      <div style="padding: 0 15px">AAAAAA</div>
      <div style="padding: 0 15px">BBBBBB</div>
      <div style="padding: 0 15px">CCCCCC</div>
      <div style="padding: 0 15px">DDDDDDD</div>
      <div style="padding: 0 15px">EEEEEEE</div>
      <div style="padding: 0 15px">FFFFFFF</div>
      <div style="padding: 0 15px">GGGGGGG</div>
      <div style="padding: 0 15px">HHHHHHH</div>
      <div style="padding: 0 15px">iiiiiii</div>
      <div style="padding: 0 15px">JJJJJJJ</div>
      <div style="padding: 0 15px">KKKKKKK</div>
      <div style="padding: 0 15px">LLLLLLL</div>
      <div style="padding: 0 15px">MMMMMMM</div>
      <div style="padding: 0 15px">OOOOOOO</div>
    </div>
    
    <div style="text-align: center">Scroll horizontally the letters above.</div>
        2
  •  0
  •   DrCord    7 年前

    您正在使用 justify-content: center ,因此根据屏幕/视区大小,开始和结束元素将被切断。

        3
  •  0
  •   VSM    7 年前

    去除 justify-content: center; 。它总是使您的内容集中在视图端口内。 谢谢。

        4
  •  0
  •   DrCord    7 年前

    只需移除 justify-content: center ,由于内容在视区中心对齐,因此当内容大于视区时,必须切断边。