基本思路: 首先,将设置了绝对定位的子元素水平和垂直偏移50%;然后,在水平和垂直方向分别偏移负自身宽高的一半
.parent{position:relative}
.son{position: absolute;left: 50%;top: 50%}
.cont{width: 100%;height: 150px;margin-left: -50%; margin-top: -75px}
基本思路: 首先,将设置了绝对定位的子元素水平和垂直偏移50%;然后,通过CSS3 transform属性值将子元素偏移负自身宽高的一半
.parent{position:relative}
.son{position: absolute;left: 50%;top: 50%;transform:translate(-50%,-50%);}
基本思路: 通过设置display:table/table-cell相关属性,模拟表格布局.
.parent{display:table}
.son{display:table-cell;vertical-align:middle}
.cont{width:50%;height:50%;margin:auto}
基本思路: 首先,将子容器设置行内块和任一伪元素也设置为行内块及水平居中;然后对父容器设置文本居中即可
.parent{text-align:center;overflow:auto}
.parent:after{content:'';display:inline-block;vertical-align:middle;height:100%;width:0}
.son{display:inline-block;vertical-align:middle}
基本思路: 使用CSS3新添加的flexbox弹性盒模型相关属性,分分钟设置一个、多个子盒子的水平/垂直居中、对齐、等高
.parent{display: flex; align-items: center; justify-content: center;}
基本思路: 结合设置子元素外边距auto及四个方向的偏移值为0达到水平垂直居中的目的
.parent{position:relative}
.son{width:50%;height:50%;margin:auto;position: absolute;top:0;right:0;left:0;bottom:0;}
对于此种布局方式,此文 盘点8种CSS实现垂直居中水平居中的绝对定位居中技术讲的很是透彻。
#floater{background-color:#ccc;float:left; margin-bottom:-100px;height:50%;}
.content{clear:both;height:200px;position:relative;width:60%;margin:auto;}
.content{height: 10em;line-height:10em;}