css水平、垂直居中的写法,请至少写出4种?
水平居中
行内元素: text-align: center
块级元素: margin: 0 auto
margin:0 auto=margin:0 auto 0 auto,表示上下为0,左右为auto;
首先如果想要设置居中,width是必须设置的,如果不设置width元素,那么块级元素一定会占据100%的宽度,auto是指平分剩余空间,比如宽度为200,父元素的宽度为1000,那么auto就是指水平方向平分剩余的宽度(1000-200)/2,auto实际上是说,自动平均分配。margin-left: auto;就表示仅左边分配所有的剩余空间,也就是跑到右边去了,实现了float:left;的效果。垂直方向不可以margin: auto 0,
margin:auto=margin:auto auto auto auto,即上下左右都auto
margin:0 auto=margin:0 auto 0 auto,表示上下为0,左右为auto;
position:absolute +left:50%+ transform:translateX(-50%)
绝对定位元素相对的元素是它最近的一个祖先,该祖先满足:position的值必须是:relative、absolute、fixed,若没有这样的祖先则相对于body进行定位。偏移值由其top、bottom、left、right值确定。
translate()函数是css3的新特性.在不知道自身宽高的情况下,可以利用它来进行水平垂直居中.。 translate(-50%,-50%) 作用是,往上(x轴),左(y轴)移动自身长宽的 50%,以使其居于中心位置。
display:flex + justify-content: center
首先flex是水平布局,另外jc这个能够区分开,嗯。