我正在创建一个内联无序列表,但项目只是继续水平迭代。
我想要的是内联创建三个项目,然后创建下面的三个项目。
我的创作的问题在于它一直在一行中水平迭代。
.product {
width: 200px;
height: 300px;
background-color: green;
}
.product_area {
display: inline;
}
.product_ul {
display: flex;
list-style-type: none;
}Run Code Online (Sandbox Code Playgroud)
<div class="product_area">
<ul class="product_ul">
<li><div class="product"></div></li>
<li><div class="product"></div></li>
<li><div class="product"></div></li>
<li><div class="product"></div></li>
<li><div class="product"></div></li>
<li><div class="product"></div></li>
<li><div class="product"></div></li>
<li><div class="product"></div></li>
</ul>
</div>Run Code Online (Sandbox Code Playgroud)
这是我的小提琴:https : //jsfiddle.net/29qvekLz/2/
flex 容器的初始设置是flex-wrap: nowrap. 这意味着 flex 项目被迫保持在一行上。这是你遇到的主要问题。
您可以使用flex-wrap: wrap.
.product_ul {
display: flex;
flex-wrap: wrap;
list-style-type: none;
padding-left: 0;
}
li {
flex: 0 0 30%; /* flex-grow, flex-shrink, flex-basis */
height: 100px;
background-color: green;
margin: 5px;
}Run Code Online (Sandbox Code Playgroud)
<div class="product_area">
<ul class="product_ul">
<li><div class="product"></div></li>
<li><div class="product"></div></li>
<li><div class="product"></div></li>
<li><div class="product"></div></li>
<li><div class="product"></div></li>
<li><div class="product"></div></li>
<li><div class="product"></div></li>
<li><div class="product"></div></li>
</ul>
</div>Run Code Online (Sandbox Code Playgroud)