CSS文字垂直居中

html-css011

CSS文字垂直居中,第1张

01

先写上html代码,如图,内容很简单,就是一个div里有一段文本。

02

再写上div对应的样式,如图,这里只设置了div的边框和高度,宽度。

03

如果这里显示的话,我们看下页面,文本是不会水平居中和垂直居中的。

04

要让文本水平居中,我们可以添加样式:text-align: center

要让文本垂直居中,我们可以添加样式: vertical-align: middle和display: table-cell

05

添加完这几个样式后,刷新页面可以看到现在的文本已经可水平居中和垂直居中了。

根据问题描述有以下几种方式:

如果文本是固定字数且文本父级是固定高度  可用 vertical-align:middle

如果文本字数不是固定数,且文本父级层不是固定高度,可用 padding

如:padding:20px 0px这样文本距离层上下都是 20px,看着就垂直居中了。

下面的代码能使整个页面垂直居中,你根据你的实际情况稍作修改,应该能满足需求

<?xml

version="1.0"

encoding="gb2312"?>

<!DOCTYPE

html

PUBLIC

"-//W3C//DTD

XHTML

1.0

Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html

xmlns="http://www.w3.org/1999/xhtml"

xml:lang="zh-CN"

lang="zh-CN">

<head>

<meta

http-equiv="Content-Type"

content="text/htmlcharset=gb2312"

/>

<meta

http-equiv="Content-Language"

content="zh-CN"

/>

<title>垂直居中</title>

<style

type="text/css">

body,

html

{

height:100%

}

#outer

{

height:100%

overflow:visible

position:relative

}

#outer[id]

{

display:table

position:static

}

#middle

{

position:absolute

top:50%

}

#middle[id]

{

display:table-cell

vertical-align:middle

position:static

}

#inner

{

position:relative

top:-50%

}

#inner[id]

{

position:static

}

</style>

</head>

<body>

<div

id="outer">

<div

id="middle">

<div

id="inner">

<p>******这个在IE中可以实现居中,在Firefox中也可以实现居中******</p>

</div>

</div>

</div>

</body>

</html>