CSS布局笔记
    
      10月 16, 2018
    
     
    
    
      1648
    
    
  
一、盒模型
- ie 盒模型算上 border、padding 及自身(不算 margin),标准的只算上自身窗体的大小 css 设置方法如下:
 
1  | /* 标准模型 */  | 
- margin、border、padding、content 由外到里
 - 最常用的获得宽高的方式
dom.offsetWidth/offsetHeight - 各种获得宽高的方式
- 获取屏幕的高度和宽度(屏幕分辨率):window.screen.height/width
 - 获取屏幕工作区域的高度和宽度(去掉状态栏)window.screen.availHeight/availWidth
 - 网页全文的高度和宽度:document.body.scrollHeight/Width
 - 滚动条卷上去的高度和向右卷的宽度:document.body.scrollTop/scrollLeft
 - 网页可见区域的高度和宽度(不加边线):document.body.clientHeight/clientWidth
 - 网页可见区域的高度和宽度(加边线):document.body.offsetHeight/offsetWidth
 
 
二、居中方式
- 水平居中
内联元素:inline, 内联块 inline-block, 内联表 inline-table, inline-flex 元素及 img,span,button 等text-align:center;
不定宽块元素居中:margin:0 auto;//且需要设置父级宽度
通过给父元素设置 float,然后给父元素设置 position:relative 和 left:50%,子元素设置 position:relative 和 left: -50% 来实现水平居中。 
1  | .wrap{  | 
- 垂直居中
单行内联(inline-)元素垂直居中 通过设置内联元素的高度(height)和行高(line-height)相等,从而使元素垂直居中。 
1  | height: 120px;  | 
利用表布局
1  | .father {  | 
flex 布局
1  | .center-flex {  | 
绝对布局方式
已知高度
1  | .parent {  | 
未知高度
1  | .parent {  | 
- 垂直水平居中
flex 方式 
1  | .parent {  | 
grid 方式
1  | .parent {  |