css - Flexbox 列表溢出容器

标签 css flexbox

我进行了一些卡片设置,其中包括每张卡片底部/页脚的一些链接。我使用 flexbox 设置它们,但是,它们正在扩展到容器之外。

我尝试为列表和页脚 div 指定宽度,但无法使其换行。有什么想法吗?

.container {
    /*added by the editor to correctly reproduce the problem*/
        width:250px;
    /*-----*/
        background: #fff;
        border-radius: 5px;
        border: 1px solid #404040;
        box-shadow: 2px 2px 4px #888;
        margin: 0 auto;
    }

    .body {
        margin: 0 auto;
        width: 90%;
    }

    .footer ul {
        list-style: none;
        display: flex;
        flex: row wrap;
        justify-content: flex-end;
        padding-left: 0;
    }

    .footer li+li {
        margin-left: .5rem;
    }

  .footer li {
      line-height: 1.5rem;
      text-align: center;
      position: relative;
      white-space: nowrap;
  }
<div class="container">
       <div>
          Header Stuff
       </div>
       <div class="body">
          Body Stuff
       </div>
       <div class="footer">
          <ul>
           <li><a href="">Footer Link</a></li>
           <li><a href="">Footer Link</a></li>
           <li><a href="">Footer Link</a></li>
           <li><a href="">Footer Link</a></li>
          </ul>
       </div>
    </div>

最佳答案

您的 .footer ul 上的属性名称不正确。而不是 flex: row wrap,应该是 flex-flow: row wrap

由于该属性值无效,该规则将被忽略,并且没有任何内容告诉浏览器将 flex 元素包装在该 flex 容器中。

.container {
        width:250px;
        background: #fff;
        border-radius: 5px;
        border: 1px solid #404040;
        box-shadow: 2px 2px 4px #888;
        margin: 0 auto;
    }

    .footer ul {
        list-style: none;
        display: flex;
        /*only change is here*/
        flex-flow: row wrap;
        /*--------*/
        justify-content: flex-end;
        padding-left: 0;
    }

    .footer li+li {
        margin-left: .5rem;
    }

  .footer li {
      line-height: 1.5rem;
      text-align: center;
      position: relative;
      white-space: nowrap;
  }
<div class="container">
       <div>
          Header Stuff
       </div>
       <div class="body">
          Body Stuff
       </div>
       <div class="footer">
          <ul>
           <li><a href="">Footer Link</a></li>
           <li><a href="">Footer Link</a></li>
           <li><a href="">Footer Link</a></li>
           <li><a href="">Footer Link</a></li>
          </ul>
       </div>
    </div>

关于css - Flexbox 列表溢出容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48714960/

相关文章:

javascript - Twitter Bootstrap 选项卡式表单

javascript - 寻找隐藏和显示一些 div 的好习惯

jquery 弹出窗口 "slide"效果似乎在增长。

javascript - jquery window.width 的逻辑是什么?

html - 双普通和大型菜单

twitter-bootstrap - Flexbox div 不在另一个 div 内居中

html - 最小高度 :100% along with flexbox’s align-items: center; dont make items vertically center

html - Flex 元素在 Firefox 中溢出

css - 样式化按钮元素 - 在 :active 上添加文本偏移

css - 当父级/浏览器收缩时收缩子元素相对定位,父级使用溢出