为什么在本示例中,.main
元素(蓝色)仅用.aside-1
(黄色)和.aside-2
(粉红色)划分空间,而不是用所有元素划分空间?了解flex属性
我们有一个将占据一行的所有元素的包装。
在.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>
非常感谢@Michael_B :-)理解! – EFO