1.元素水平居中:
代码:text-align:center;
作用:在块级元素(不包含p标签和h标签)设置text-align:center;可以使子元素中的行内元素以及行内块元素进行水平居中
代码:margin:0 auto;
作用:使元素处于父盒子(要有固定的宽度)的水平居中的位置,主要是通过设置外边距实现的。
2.line-height:父盒子高度
只能设置文字的垂直居中,而且文字只能在父盒子中显示一行
3.复合居中
(一):定位+margin
代码:
.father {
position: relative;
width: 500px;
height: 300px;
margin: 100px auto;
border: 1px solid #000;
}
.son {
position: absolute;
left: 50%;
top: 50%;
margin-left: -100px;
margin-top: -50px;
}
通过子绝父相的模式设置子盒子左上角的位置在父盒子的中心点,然后再将盒子通过margin朝相反方向移动的属性,设置子盒子整体移到父盒子的中心位置。
(二)定位+translate
代码:
.father {
position: relative;
width: 500px;
height: 300px;
margin: 100px auto;
border: 1px solid #000;
}
.son {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: 200px;
height: 101px;
background-color: pink;
}
原理和position+margin一致,但是需要注意的是margin需要了解子盒子的宽高值,然后才能设置对应的程序,而translate属性中50%指的是子盒子宽高的一半,所以不需要明确子盒子的宽高就可以设置他在父盒子中居中的效果。比较推荐这种写法,相对于之前的居中方式,这种在运用和修改的时候更加灵活,
其实最简单的居中方法莫过于flex布局,我们下次再说flex居中。