css - flexbox 容器并不总是居中

标签 css flexbox

我有一个 flexbox 容器 (ul),它间歇性居中(这是有意的)而不是(在 View 刷新时)。这是错误还是 css 中缺少某些内容?

Live example on the jsFiddle.

HTML:

<div id="lower-half">
        <nav>
            <ul>
                <li>
                    <a href="menu.html">Menu</a>
                </li> 
                <li>
                    <a href="catering.html">Catering</a>
                </li> 
                <li>
                    <a href="gallery.html">Gallery</a>
                </li>
                <li>
                    <a href="about.html">About</a>
                </li>

            </ul>

        </nav>

CSS:

nav ul{
    display: flex;
    height: 100%;
    margin: 0 auto;
    justify-content: center;
    flex-wrap: wrap;
    list-style: none;
    border: 3px solid;
    border-radius: 20px;
    width: 360px;
    background-color: white;
}

nav ul li {
    align-self: center;
    flex-grow: 1;
}

最佳答案

这听起来像是一个奇怪的问题——它与浏览器有关吗?我刚试过pasting your code into a Pen这确实使导航居中。

但是,也许为了解决您的问题,我对您的 CSS 做了一些更改,但没有影响您的设计和定位 - 这也许可以解决您的刷新问题。

Updated Pen

HTML

<nav>
    <ul>
        <li>
            <a href="menu.html">Menu</a>
        </li> 
        <li>
            <a href="catering.html">Catering</a>
        </li> 
        <li>
            <a href="gallery.html">Gallery</a>
        </li>
        <li>
            <a href="about.html">About</a>
        </li>

    </ul>

</nav>

CSS

nav {
    display: flex;
    justify-content: center;
}

nav ul{
    display: flex;
    flex-wrap: wrap;
    width: 360px;

    list-style: none;
    border: 3px solid;
    border-radius: 20px;
    background-color: white;
}

nav ul li {
    flex-grow: 1;
}

关于css - flexbox 容器并不总是居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28103123/

相关文章:

html - 响应时导航栏标题不正确且位于菜单栏下方

html - 绝对定位的 flex 元素不会从 IE11 的正常流程中移除

css - 为什么 'flex-direction:row' 没有将所有元素排列在一行中(+ 放置问题)?

html - 使用 DOM/JS 将按钮附加到 <li> 标记但不确定如何使用 Flexbox/CSS Grid 正确显示

html - MaterializeCSS 中的多项选择?

css - 隐藏在 IE 内容后面的 ul li 下拉菜单

css - 使用 fx-layout ="column"的 Safari IOS 的 Flex 布局显示问题

html - 在表格单元格元素中创建垂直间隙

javascript - 追加 div 并向右滚动

html - 为什么 "position: relative"只在 Chrome 中有效?