demo.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.box {
width: 900px;
margin: 50px auto;
border: 1px solid #000;
}
.box ul {
list-style: none;
height: 500px;
padding: 5px;
display: flex; /* 伸缩布局 相当于所有子元素浮动,但不用清除浮动 */
flex-direction: row-reverse; /* 设置主轴(水平)方向(子元素排列次序) row(从左到右,左浮动(默认)) row-reverse(从右到左,右浮动) column(从上到下) column-reverse(从下到上) */
justify-content: space-between; /* 主轴(水平)对齐方式 flex-end(向最后子元素对齐) center flex-start space-around(在整个盒子中平分(屏幕适配)) space-between(两端对齐,中间平分) */
align-items: center; /* 侧轴(竖直方向)对齐方式 flex-start flex-end center baseline(基线) stretch(子元素高度拉伸,"height:auto;") */
}
.box ul li {
width: 200px;
height: 200px;
margin: 10px;
background-color: pink;
}
.box ul li:nth-child(1) {
flex: 1; /* 在父盒子中的比例(宽高会改变),不设置会按本身的宽高显示 */ /* 子盒子之间的margin不会合并 */
}
.box ul li:nth-child(2) {
flex: 4; /* 在父盒子中的比例 */
}
.box ul li:nth-child(3) {
flex: 1; /* 在父盒子中的比例 */
}
</style>
</head>
<body>
<div class="box">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</div>
</body>
</html>