css中如何使盒子水平居中

html-css014

css中如何使盒子水平居中,第1张

盒子居中是相对于父元素来说的,因此我们让盒子居中时,往往采用嵌套的方式,让父盒子套着子盒子 。

在父子盒子嵌套下,让子盒子居中的方式:

第一种方法:position, 使用定位,子绝父相,再left:50%,margin-left:负的盒子宽度的一半,这是最常用的方法

第二种方法:flex,弹性布局,让子盒子居中,但是样式要写在父盒子中,display:flex,just-content:center

第三种方法:在position基础上,把margin-left换成CSS3中的transform:translate(-50px)

第四种方法:在position的基础上,只保留子绝父相,然后在子盒子中加上margin:auto、left:0、right:0;

要让盒子居中需要设置:margin: 0 auto。

当然需要给盒子设置宽度,不然盒子默认的宽度是父容器宽度。

也有其他方式,比如父容器设置display: flexjustify-content: center也是可以的。

方法不少能达到效果就好了。

举个例子

<div style="width: 200pxheight: 200pxbackground: bluemargin: 0 auto"></div>

这一行直接放到body里边,他肯定是居中的。

flex居中:

<div style="display: flexjustify-content:center">

<div style="width: 200pxheight="200pxbackground: red"></div>

</div>

这个也能实现居中,当然也可以垂直居中,垂直的话display: flex后面加上flex-direction: column就可以了。

这里的分号是分隔符,最后一个样式可以不加,但只要后面有其他样式就必须要加分号,不然样式会失效。