微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

html – 我可以在flexbox行之间划一条线吗?

我有一个水平导航,有点长,需要重新排列窄显示.我使用flexBox使它重排成多行.

但是对于许多行,导航项之间的划分并不那么明显.我尝试在顶部给它们一个边框,它有点起作用 – 但边界当然只能在各个导航选项上看到,而不是在所有flexBox行之间创建一个漂亮的分界线.

请查看整个代码段,在帖子中查看时会出现显示问题.或者使用this fiddle.您可能必须缩小浏览器窗口以查看多行导航.

header {
    height: 3em;
    background-color: #fff;
}


#main {
    height: 9em;
    background-color: #5987d1;
}

footer {
    height: 3em;
    background-color: #a8a8a8;
    border-top: 1px solid #0047b9;
}

ul.horizontal-nav {
    background: rgba(72,72,1);
    display: -moz-Box;
    display: -ms-flexBox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-Box-shadow: 0px 2px 1px 0px rgba(0,0.75);
    -moz-Box-shadow: 0px 2px 1px 0px rgba(0,0.75);
    Box-shadow: 0px 2px 1px 0px rgba(0,0.75);
    list-style: none;
}

li.NavigationLi2,li.selected-branch-root {
    padding: 0.75em 1em;
    display: block;
    border-top: 1px solid #2662c3;
}

li.selected-branch-root {
    background: #2662c3;
}

li.NavigationLi2 > a,li.NavigationLi2 > a:visited {
    color: #e6eeff;
    text-decoration: none;
    -ms-word-wrap: Nowrap;
    word-wrap: Nowrap;
}

li.selected-branch-root > a,li.selected-branch-root > a {
    color: #fff;
    text-decoration: none;
    -ms-word-wrap: Nowrap;
    word-wrap: Nowrap;
}
<header>
</header>
<nav class="horizontal-nav">
    <ul class="horizontal-nav">
                <li class="selected-branch-root"><a href="/Search">Search</a>
                </li>
                <li class="NavigationLi2"><a href="/My%20models">My models</a>
                </li>
                <li class="NavigationLi2"><a href="/Account">Account</a>
                </li>
                <li class="NavigationLi2"><a href="/Management%20Tools">Management</a>
                </li>
                <li class="NavigationLi2"><a href="/Administration">Administration</a>
                </li>
                <li class="NavigationLi2"><a href="/Help">Help</a>
                </li>
        </ul>
</nav> 
<section id="main">
</section>
<footer>
</footer>

解决方法

这就是我所说的我可以说我有一个内置3个div的flexBox容器

<div class="flex">
  <div>
    <h2>Free Shipping</h2>
  </div>
  <div>
    <h2>Everything In Stock</h2>
  </div>
  <div>
    <h2>Largest Inventory</h2>
  </div>
</div>

我正在玩的是为了在3 div / flex项目的中间创建一条线,只需在div之间添加一个flex项,如下所示:

<div class="flex">
  <div>
    <h2>Free Shipping</h2>
  </div>

  <img src="lib/xxx/img/ydivider.png" alt="divider"/>

  <div>
    <h2>Everything In Stock</h2>
  </div>

  <img src="lib/xxx/img/ydivider.png" alt="divider"/>  

  <div>
    <h2>Largest Inventory</h2>
  </div>
</div>

您现在可以看到我们有5个灵活项目而不是3个.我找到的另外两个弹性项目正确间隔在中间.请记住,如果您转到显示为列的断点,则需要在该点处使用水平img.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐