# Flex布局
# 四栏布局
<ul class="nav">
<li>Leading-Role</li>
<li>Supporting-Role</li>
<li>Team</li>
<li>About</li>
</ul>
.nav{
display:flex;
border:1px solid red;
}
.nav > li{
padding: 4px 0.5em;
margin-right: 10px;
margin-top: 2px;
font-size: 18px;
}
# 两栏布局
<header class="header">
<div class="logo">
House of Cards
</div>
<ul class="nav">
<li>Leading-Role</li>
<li>Supporting-Role</li>
<li>Team</li>
<li>About</li>
</ul>
</header>
.nav{
display:flex;
}
.nav > li{
padding: 4px 0.5em;
margin-right: 10px;
margin-top: 2px;
font-size: 18px;
}
.header{
display:flex;
justify-content:space-between;
align-items:center;
/* border:1px solid green; */
font-size: 20px;
background: grey;
color: white;
}
.logo{
margin: 6px 20px;
}
# 三栏布局
<div class="content">
<aside></aside>
<main></main>
<div class="ad"></div>
</div>
.content{
display:flex;
width:800px;
margin-left:auto;
margin-right:auto;
}
.content > aside {
width: 200px;
height: 500px;
background-color: rgb(255, 130, 160);
}
.content > main {
width: 500px;
background-color: green;
}
.content > .ad {
width: 100px;
background-color: purple;
}
# 平均布局
<div class="imageList">
<div class="x">
<div class="image"></div>
<div class="image"></div>
<div class="image"></div>
<div class="image"></div>
<div class="image"></div>
<div class="image"></div>
<div class="image"></div>
</div>
</div>
.imageList{
width:800px;
margin-left:auto;
margin-right:auto;
}
.imageList > .x{
display:flex;
flex-wrap:wrap;
margin-right:-20px;
}
.image{
width: 185px;
height: 185px;
margin-bottom: 20px;
margin-right: 20px;
background-color: rgba(255, 0, 0, 0.3);
border:1px solid green;
}
# flex布局
.container{
display:flex;/* inline-flex */
}
# flex-direction:定义主轴方向
- row: 元素摆放的方向和文字方向一致
- row-reverse: 元素摆放的方向和文字方向相反
- column: 元素从上放到下
- column-reverse: 元素从下放到上
# flex-wrap:定义元素换行
- nowrap: 所有的元素都在一行
- wrap: 元素自动换成多行
- wrap-reverse: 元素自动换成逆序的多行
# justify-content:将flex元素和主轴对齐
- flex-start: 元素和容器的左端对齐
- flex-end: 元素和容器的右端对齐
- center: 元素在容器里居中
- space-between:元素之间保持相等的距离
- space-around:元素周围保持相等的距离
# align-items:在交叉轴上对齐多个元素
# align-self:单个元素分布
- flex-start: 元素与容器的顶部对齐
- flex-end: 元素与容器的底部对齐
- center: 元素纵向居中
- baseline: 元素在容器的基线位置显示
- stretch: 元素被拉伸以填满整个容器
# align-content:多行元素分布
- flex-start: 多行都集中在顶部
- flex-end: 多行都集中在底部
- center: 多行居中
- space-between: 行与行之间保持相等距离
- space-around: 每行的周围保持相等距离
- stretch: 每一行都被拉伸以填满容器