使用flex布局的时候,这边换行后,第二行的格子会变的很长,能否让第二行的格子的宽度和第一行一样?
宽度不是定宽,比如下图,如何让下面的E和F的宽度和上面保持一致
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
/*以下为设置li自动横向排列的样式*/
#nav
{
/*width: 80%;*/
margin: 0 auto;
border: 2px solid #00CED1;
}
ul,li /*这是关键,去掉ul li默认的margin padding 值*/
{
margin: 0px;
padding: 0px;
list-style: none;
}
ul /*这是关键*/
{
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
li
{
border: 1px solid;
width: 300px; /*每个元素的初始化宽度*/
text-align: center;
margin-top: 10px;
margin-bottom: 10px;
flex:auto; /*这是关键*/
}
</style>
</head>
<body>
<div id="nav">
<ul>
<li>AAAA</li>
<li>BBBB</li>
<li>CCCC</li>
<li>DDDD</li>
<li>EEEE</li>
<li>FFFF</li>
</ul>
</div>
</body>
</html>
我也想不出完美的办法,只能检测屏幕大小了,在不同的屏幕使用不同的百分比,并尽止grow。代码如下,希望能适合你的情况: