css - Chrome 和 Firefox 中 Bootstrap 菜单宽度问题中的 Flexbox 布局

标签 css twitter-bootstrap cross-browser flexbox submenu

我正在尝试学习如何使用 Flexbox 并让 Flexbox 在 Bootstrap 子菜单内的 Chrome 和 Firefox 中正确显示,但子菜单面板无法正确计算宽度。它几乎从不水平扩展,菜单项只是溢出菜单的边界。在最新版本的 IE 中查看时,菜单看起来应该可以工作,但在 Chrome/Firefox/Opera 中却不起作用。

这是 dx-menu-container-wrap div 内有多个 ul 的菜单结构(为简洁起见,仅显示一个)。

<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
    <div class="container-fluid"> <a data-target=".nav-collapse" data-toggle="collapse" class="btn btn-navbar">
      <span class="icon-bar"></span>
    </a>

        <div class="nav-collapse">
            <ul class="nav">
                <li class="dropdown"> <a data-toggle="dropdown" class="dropdown-toggle" href="#">Dropdown<b class="caret"></b></a>

                    <ul class="dropdown-menu">
                        <li class="dropdown-submenu"> <a href="#">More options</a>

                            <div class="dropdown-menu">
                                <div class="dx-menu-container-wrap">
                                    <ul>
                                        <li>
                                            <p><strong>Category 1</strong>

                                            </p>
                                        </li>

然后 CSS 是:

.dx-menu-container-wrap {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    flex-grow: 1;
    white-space:nowrap;
    height:400px;
}

我需要做一些不同的事情来扩展菜单的宽度以适应 Chrome 和 Firefox 中的 Flexbox 容器吗?

菜单的期望行为: 固定高度为 400 px,首先从左列开始垂直填充 ul,然后从最左边的位置开始向右扩展/flex 到其他列。

*适用于 IE

http://jsfiddle.net/cjsmith/2287nv0o/9/

最佳答案

您可以尝试向下拉包装器添加最小宽度,如下所示:

.dx-menu-container-wrap {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    flex-grow: 1;
    white-space:nowrap;
    height:400px;
    min-width:300px;
}

这是一个具有最小宽度的 Flexbox 下拉列表的 jsfiddle:http://jsfiddle.net/AndrewL32/2287nv0o/11/

它似乎在 Chrome、FF 以及 IE 上运行良好

关于css - Chrome 和 Firefox 中 Bootstrap 菜单宽度问题中的 Flexbox 布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27823595/

相关文章:

html - 为什么我的 HTML/CSS 网站顶部有空白区域?

javascript - 在 JavaScript 中当屏幕分辨率小于 767px 时添加类

html - 浏览器与 IE 7 及以下版本的兼容性

node.js - 为什么 Git 会自动忽略大多数 Node 文件?

html - 在 Bootstrap 面板标题中有一个输入栏的推荐方法吗?

css - 跨浏览器 CSS 是否需要 "CSS Reset"?

css - anchor 技巧在 Firefox 中不起作用

应用于 DIV 内容的 CSS

Javascript - 如何使用基于网站像素颜色的 Canvas 创建图像?

css - background-size 和 background-repeat 究竟是如何工作的?