如何让一个盒子水平垂直居中

170 阅读1分钟

面试题经常提问的问题,用简单的语言描述清楚

方法一:利用定位(常用方法)

用的就是子绝父相的方法,给里的最近的一个父元素相对定位,给子元素绝对定位,这样可以很快的定位到水平垂直居中,记得要加上margin-top和margin-left,各自为自身宽高的一半

方法二:利用margin:auto

利用子绝父相和外边距margin实现 先为父盒子设置相对定位,再为子盒子设置绝对定位,且绝对定位的四个方向的位移都设为0,然后将外边距margin属性值设置为auto即可(同样是子绝父相)

方法三:利用display:table-cell

其实就是将子盒子改成行内块的元素,再用text-align居中的方式让盒子水平居中,再用line-hight实现盒子的垂直居中

方法四:display:flex设置水平垂直居中

将布局改成flex布局,再将盒子侧轴和主轴都设定为居中

justify-content:center

align-items:center

方法五:利用transform

先将子盒子绝对定位,父盒子相对定位,再将子盒子移动父盒子的上和左的50%,紧接着用transform移动子盒子的上左各一半