用flex布局,能否提行后的宽度和上面一样?
使用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>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我也想不出完美的办法,只能检测屏幕大小了,在不同的屏幕使用不同的百分比,并尽止grow。代码如下,希望能适合你的情况:
如果格子是定宽的, 给格子设置一个宽度,父级
display: flex;
flex-wrap: wrap;
换行不换行宽度都一样
flex 是一维的布局。
二维布局,建议使用grid