在使用flex布局,老是需要去查资料,很多常用的,知道大概,可还是需要去过一遍,这里记录一下几个常用的flex布局

 

一个div,内容垂直居中

html



<div className='topHead'>
<img src='/images/highLevel.png'/>
</div>


css



.topHead {
width: 100%;
height: 100px;
display: flex;
align-items: center;
}


注意:这个高度是一定要的,不然没有下效果

 

一个div,内容既要垂直居中,也要左右居中

html



<div className='topHead'>
<img src='/images/highLevel.png'/>
</div>


css



.topHead {
width: 100%;
height: 100px;
display: flex;
align-items: center;
justify-content: center
}


 

 一个div,内容两块,往两边靠

这种场景经常出现在设置里面,左边一个内容,右边一个内容

html



<div className='bothSides'>
<span className='ml10'>客服QQ</span>
<div className='mr10'>
<span>123456</span>
<Icon type="copy" />
</div>
</div>


css



.bothSides{
height: 50px;
display: flex;
align-items: center;
justify-content: space-between;
}
.ml10{
margin-left:10px;
}
.mr10{
margin-right:10px;
}


 

 

一个页面,有上下两个元素,垂直水平居中

第一种差在 flexDirection:column  指定在垂直方向

html



<div style={styles.emptyPage}>
<img src={empty} alt='empty png' style={styles.emptySize} />
<div className='fs18 mt10 lightGrayText'>{this.props.text}</div>
</div>


css



emptySize:{
width:'60%'
},
emptyPage:{
width:100%;
height:500px;
backgroundColor:#F2F3F7;

display:flex;
flexDirection:column;
alignItems:center;
justifyContent:center;
}


 

一个div,里面有3个元素,这三个元素的排列方式以左,中,右的方式排列



.mainDiv{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}


 



 

一个div,里面有两个元素,像左对齐,第一个元素宽度固定,第二个元素自适应



.mainDiv{
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
}
.firstDiv{
  width: 80px;
  text-align: right;
  color:#999999;
  flex-shrink:0;
}