flexbox 容器并不总是居中
flexbox container not always centering
我有一个 flexbox 容器 (ul),它间歇性居中(这是有意的)而不是(在视图刷新时)。这是错误还是 css 中缺少某些内容?
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 做了一些改动,但没有影响您的设计和定位 - 这或许可以解决您的刷新问题。
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;
}
我有一个 flexbox 容器 (ul),它间歇性居中(这是有意的)而不是(在视图刷新时)。这是错误还是 css 中缺少某些内容?
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 做了一些改动,但没有影响您的设计和定位 - 这或许可以解决您的刷新问题。
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;
}