【发布时间】:2017-03-01 04:39:49
【问题描述】:
为什么在这个例子中,.main 元素(蓝色)只用.aside-1(黄色)和.aside-2(粉色)来划分空间,而不是所有元素?
我们有一个包装器,它让所有元素占据一行。
在.main 中我们说flex: 3 0px,我认为这个元素将比其他四个元素大 3 倍,并将占据 3/(3+1+1+1+1)。
但是,我注意到使用 nowrap 包装器时,最小的项目是 .main。
对于wrap,它会被两个最接近的元素分开。
无法理解。
.wrapper {
display: flex;
flex-flow: row wrap;
font-weight: bold;
text-align: center;
}
.wrapper>* {
padding: 10px;
flex: 1 100%;
}
.header {
background: tomato;
}
.footer {
background: lightgreen;
}
.main {
text-align: left;
background: deepskyblue;
height: 50vh;
flex: 3 0px;
}
.aside-1 {
background: gold;
}
.aside-2 {
background: hotpink;
}
.aside {
flex: 1 auto;
}
.aside-1 {
order: 1;
}
.main {
order: 2;
}
.aside-2 {
order: 3;
}
.footer {
order: 4;
}
<div class="wrapper">
<header class="header">Header</header>
<article class="main">
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est.
Mauris placerat eleifend leo.</p>
</article>
<aside class="aside aside-1">Aside 1</aside>
<aside class="aside aside-2">Aside 2</aside>
<footer class="footer">Footer</footer>
</div>
【问题讨论】: