Css实现元素上下左右都居中的4种方法

html-css013

Css实现元素上下左右都居中的4种方法,第1张

例:居中.wrapper里的.content

一. 已经元素的宽高的前提下:

(1)  left:50%top:50%

父元素设置相对定位,position: relative 

子元素(要居中的元素)设置绝对定位,position: absolute  left: 50%   top: 50%

(2)设置margin: auto

父元素设置相对定位,position: relative

子元素(要居中的元素)设置绝对定位,position: absolutemargin: auto

(3)   flex布局

父元素设置 display: flex  justify-content: center   align-items: center

二.未知元素宽高的情况下:

(1)四个方向设置值,把元素撑开

父元素设置相对定位,position: relative 

子元素设置绝对定位,position: absolutetop与bottom设置一样的值,left与right设置一样的值,把容器撑开

1、可设置行高line-height和height的高度一致,如div {height:100pxline-height:100px}

2、或者设置display:table-cell和vertical-align:middle如:div {display:table-cellvertical-align: middle}

css样式没有上下居中的属性,文字有可以设置行高,设置行高需要提交知道一行的高度,table布局有上下居中的属性<td valign="middle">这是一段文字!</td>