设置页面元素垂直居中的几种方法

一、对于行内元素

若该行内元素只有一行,且该行内元素父元素的高度一定,可以设置该行内元素的line-height属性,属性值为父元素的高度。


二、对于块元素

通过设置vertical-align属性实现垂直居中。

1、在元素的
中使用vertical属性。

td{
     vertical-align:middle;
}

2、对于普通的
元素,首先设置该
元素display:table-cell;然后便可以使用vertical-align属性进行垂直居中。

注意:使用该方法时,不能设置该元素浮动 float 或进行绝对定位 position,否则无法垂直居中。

div{
      display:table-cell;
      vertical-align:middle;
}


3、可以设置行内块级元素的vertical-align,从而设置该元素的 顶部/中部/底部 与其它行内元素对齐。

备注:该方法相当于在行内元素中插入图片。

代码和效果图如下所示:


	
	Document
	


	assssssfdsfsdf
hasdkjagsdhjagdk
asdasd
qwdasfasdf

设置页面元素垂直居中的几种方法_第1张图片


三、对行内元素、块级元素都有效。

通过绝对定位 position 与其它属性的组合使用实现垂直居中;

使用弹性伸缩布局。

1、设置元素的position+margin属性,

分为两种情况,一种是已知元素高度时,一种是未知元素高度时

1.1、使用场景:要垂直居中元素的长、高值确定时

首先,设置块级元素

的父元素的 position:relative;
其次,设置块级元素
的css为:position:absolute;top:50%;left:50%;
假设该块级元素
 width:200px;height:80px;
最后,设置该块级元素
的外边距:margin:-40px 0px 0px -100px;
备注:因为块级元素
的绝对定位是以块级元素
的左上角为基准的,所以要通过外边距减去搜索框长和宽的一半。

1.2、使用场景:元素的长、高值不确定时

首先,设置块级元素

的父元素的 position:relative;
其次,设置块级元素
的css为:position:absolute;top:0;bottom:0;margin:auto;
假设该块级元素
已完成垂直居中


2、设置元素的position+transform属性

使用场景:针对流体式、响应式布局,要居中元素的高、宽值不确定时

首先,设置块级元素

的父元素的 position:relative;
其次,设置块级元素
的css为:position:absolute;top:50%;left:50%;
最后,设置该块级元素
的transform:transform:translate(-50%,50%);

3、弹性伸缩布局

使用场景:响应式布局

设置父元素的CSS属性 display:flex;  justify-content:center;

示例代码如下:


设置页面元素水平居中的几种方法HTML元素水平居中方法详解

你可能感兴趣的:(CSS&CSS3)