水平垂直居中
很多方法都会受浮动影响
- 单行已知宽高 - 1 
 2- text-align:center; 
 inline-height: 50px;
- 已知字元素宽高 - 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11- .parent{ 
 position: reletive;
 }
 .child {
 position: absolute/relative;
 left: 50%;
 top: 50%;
 margin: -50px 0 0 -50px;
 width: 100px;
 height: 100px;
 }
- margin:auto; - 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13- .parent{ 
 position: reletive;
 }
 .child {
 position: absolute;
 left: 0;
 top: 0;
 tight: 0;
 b0ttom: 0;
 width: 100px;
 height: 100px;
 margin:auto;
 }
- 未知宽高 
 用css3 transform: translate(-50%, -50%);
- table-cell表格实现 - 1 
 2
 3- display: table-cell; 
 vertical-align: middle;
 text-align: center;
两栏布局
- 浮动
 left左浮动,right不浮动,margin/padding-left
- 绝对定位
 方式和浮动一样
- 表格布局
 wrap: table, child:table-cell
- flex布局
圣杯布局
1、将middle首先放在container的子元素第一个,然后是left,right,同时设置三者float:left;
2、middle要自适应,需要设置width:100%;让left部分和middle处于一行,要是用margin-left:-100%;
3、此时left部分会遮盖middle的内容,将middle部分收缩起来,设置其父元素container内边距,padding:0 200px;
4、left部分内容随同middle收缩,占据middle一部分,需要设置left部分使用相对定位,独立于middle,left:-200px;
5、同理right部分放置middle右部分,需要设置其相对定位、宽度和margin-left、right值。
| 1 | <!DOCTYPE html> | 
                main
            
        left
        right
    - 子元素的属性- order
- flex-grow
- flex-shrink
- flex-basis
- flex
- align-self