现在布局方式主要分为三种

尺寸的百分比设置
包含块
我们知道width, height都是可以设置百分比,那这个百分比的参照物是谁?这里引出一个概念,叫做包含块(CB, Contanining Block),一个元素的包含块就是该元素的width、height百分比的参照物。
一个元素的包含块是谁,主要取决于该元素的position属性,总结如下:
position为absolute和fixed时,包含块也可能是由满足以下条件的最近父级元素的padding-box:
块级元素占据一行,是指块级元素的外部尺寸占据一行,就是margin-box。当margin设置为auto的时候,margin会自动占满剩余空间。
当margin-left和margin-right同时为auto,就会平分剩余空间,这就是margin:auto会使元素水平居中的原因。
line-height和vertical-align
利用line-height和vertical-align可以设置多种场景下的垂直居中。
https://segmentfault.com/a/1190000015713743
原文:https://www.cnblogs.com/tiandi/p/12545869.html