---
title: CSS布局(3)-Flex实践
date: 2017-9-15 21:33:57
tags:
- 前端
- css
categories:
- 前端杂烩
---
熟悉flex布局方式以后 , 就会发现flex布局十分灵活
19.1当中提到的多列布局
使用flex都可以以十分简洁的代码搞定
DOM结构
```xml
```
css样式
```css
.layout {
height : 200px;
display: flex;
}
.layout > .layout_aside {
background-color: pink;
width : 100px;
}
.layout > .layout_main {
background-color: #ccc;
flex-grow: 1;
}
```
无论结构是什么样子 , 只要让main区域自动放大 , 侧边栏的宽度固定即可
---
对于常见的 上 左下 右下 将整个窗口区域分为3部分 , 并且外部区域没有滚动条的布局 ( 通常右下作为主内容显示区 , 这部分可以有自己的纵向滚动条 )
使用flex实现起来也十分简单 , 不需要使用js获取可视区域的尺寸进行控制
DOM结构
```xml
```
main是最外层的flex容器 , 其中包含top和down两个项目
down本身也是一个flex容器 , 其中包含left和content两个项目
CSS样式
```css
* {
margin: 0;
padding : 0;
}
#main {
height : 100%;
display: flex;
flex-direction: column;
}
#main > .top{
height : 50px;
background-color: blue;
}
#main > .down {
display: flex;
flex-grow: 1;
}
#main > .down > .left{
width : 200px;
background-color: yellow;
}
#main > .down > .content {
flex-grow: 1;
background-color: pink;
}
```