以前本人一直使用浮动、相对定位、绝对定位和display:table等css的方法进行定位。网上得知flex可实现弹性布局,符合将来发展趋势,随尝试。css
1:让盒子行内文字垂直居中,解决思路是讲文字的行高设置为盒子的高度。布局
p { border:#333333 solid 1px; height:50px; line-height:50px; margin-bottom:30px; }
2:让盒子行内文字垂直居中,解决思路是对盒子的高度设定,而后对盒子的padding-top和padding-bottom设置相同的值。flex
p { border:#333333 solid 1px; padding-top:30px; padding-bottom:30px; margin-bottom:30px; }
3:让盒子行内文字垂直居中,解决思路是让盒子的display属性变成table,而后文字添加span标签,span属性display:table-cellspa
p { border:#333333 solid 1px; height:60px; display:table; width:100%; margin-bottom:30px; } p span { display:table-cell; vertical-align:middle; }
<p><span>中华人民共和国</span></p>
4:让盒子行内文字垂直居中,解决思路是让盒子display的属性变成flexcode
p { border:#333333 solid 1px; height:60px; display:flex; align-items:center; margin-bottom:30px; }
<p><span>中华人民共和国</span></p>
若是让“中华人民共和国”水平也居中的话,css调整为:blog
p { border:#333333 solid 1px; height:60px; display:flex; align-items:center;/*垂直方向*/ justify-content:center;/*水平方向*/ margin-bottom:30px; }