我有两排折叠式。第一行有6个与flex: 1相等的列。第二行的列具有flex: 4,列具有flex:2。列有margin-right: 10px集,但行中的最后一个子列除外。
http://jsbin.com/gufihoyaha/edit?html,css,output
.row {
display: flex;
}
.row .col {
margin-right: 10px;
background-color: coral;
}
.row .col:last-child {
margin-right: 0;
}
.flex-1 {
flex: 1;
}
.flex-4 {
flex: 4;
}
.flex-2 {
flex: 2;
}<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<div class="row">
<div class="col flex-1">1</div>
<div class="col flex-1">1</div>
<div class="col flex-1">1</div>
<div class="col flex-1">1</div>
<div class="col flex-1">1</div>
<div class="col flex-1">1</div>
</div>
<div class="row">
<div class="col flex-4">4</div>
<div class="col flex-2">2</div>
</div>
</body>
</html>
但结果与我所预期的不同:

我想要的是这样的:

问:为什么会发生这种情况,以及如何解决?
发布于 2017-05-29 09:14:50
实际上,只有display:grid才能正确地做到这一点:
不幸的是,在这个时候,它是安静的,新的,没有实现的每一个地方。请参阅http://caniuse.com/#search=grid
要了解更多信息,请访问https://css-tricks.com/snippets/css/complete-guide-grid/
.row {
display: grid;
grid-template-columns: repeat(6, 1fr);
}
.row .col {
background-color: coral;
margin-right: 10px;
}
.row .col:last-child {
margin-right: 0;
}
.flex-1 {}
.flex-4 {
grid-column: auto / span 4;
}
.flex-2 {
grid-column: auto / span 2;
}<div class="row">
<div class="col flex-1">1</div>
<div class="col flex-1">1</div>
<div class="col flex-1">1</div>
<div class="col flex-1">1</div>
<div class="col flex-1">1</div>
<div class="col flex-1">1</div>
</div>
<div class="row">
<div class="col flex-4">4</div>
<div class="col flex-2">2</div>
</div>
https://stackoverflow.com/questions/44238464
复制相似问题