一、水平居中
1、行内元素
1 text-align: center;
2、块级元素
1 margin: 0 auto;
上面两种方法的前提是父元素都没有被float影响
3、多个块级元素
父元素设置text-align:center。子元素设置inline-block。
1 .inline-block-center { 2 text-align: center; 3 } 4 .inline-block-center div { 5 display: inline-block; 6 text-align: left;
或者使用flex布局
1 flex-center { 2 display: flex; 3 justify-content: center; 4 }
二、垂直居中
1、单个行内元素
可以设置line-height=height
2、多个行内元素
方法一:可以将元素转为table样式,再设置vertical-align:middle
方法二:使用flex布局
1 flex-center { 2 display: flex; 3 justify-content: center; 4 }
注意:flex布局的前提是父元素必须设置height
3、块级元素
已知高度:父元素relative,子元素absolute等等
未知高度:
1 .parent { 2 position: relative; 3 } 4 .child { 5 position: absolute; 6 top: 50%; 7 transform: translateY(-50%); 8 }
flex布局:
1 .parent { 2 display: flex; 3 flex-direction: column; 4 justify-content: center; 5 }