首先我们要知道通过css实现元素的水平居中较为简单:对文本,只需要对其父级元素设置text-align: center,对div等块级元素,只需要设置其left和right的margin值为auto;要实现元素的垂直居中,有人会想到css中的vertical-align属性,但是它只对拥有valign特性的元素才生效。所以接下来我们就来看看css实现单文本垂直居中和多文本垂直居中的实现方法。
我们先来看看css单行文本垂直居中
对于单行文本,我们只需要将文本行高(line-height)和所在区域高度(height)设置一致就可以了。
css单行文本垂直居中的实现代码:
HTML:
<div id="div1"> php中文网单行文本垂直居中 </div>
CSS:
#div1{ width: 300px; height: 100px; margin: 50px auto; border: 1px solid red; line-height: 100px; /*设置line-height与父级元素的height相等*/ text-align: center; /*设置文本水平居中*/ overflow: hidden; /*防止内容超出容器或者产生自动换行*/ }
css单行文本垂直居中效果如下:
然后再来看看多行文本垂直居中
说明:多行文本垂直居中分为两种情况,一个是父级元素高度不固定,随着内容变化;另一个是父级元素高度固定。
1、父级元素高度不固定
父级高度不固定的时,高度只能通过内部文本来撑开。所以,我们可以通过设置内填充(padding)的值来使文本看起来垂直居中,只需设置padding-top和padding-bottom的值相等:
css多行文本垂直居中代码:
HTML:
<div id="div1"> php中文网多行文本垂直居中, php中文网多行文本垂直居中, php中文网多行文本垂直居中, php中文网多行文本垂直居中。 </div>CSS:
#div1{ width: 300px; margin: 50px auto; border: 1px solid red; text-align: center; /*设置文本水平居中*/ padding: 50px 20px; }css多行文本垂直居中效果如下:
2、父级元素高度固定
css中的vertical-align属性,它只对拥有valign特性的元素才生效,结合display: table;,可以使得div模拟table属性。因此我们可以设置父级div的display属性:display: table;;然后再添加一个div包含文本内容,设置其display:table-cell;和vertical-align:middle。
css多行文本垂直居中代码:
HTML:
<div id="outer"> <div id="middle"> php中文网固定高度多行文本垂直居中, php中文网固定高度多行文本垂直居中, php中文网固定高度多行文本垂直居中, php中文网固定高度多行文本垂直居中。 </div> </div>CSS:
#outer{ width: 400px; height: 200px; margin: 50px auto; border: 1px solid red; display: table; } #middle{ display:table-cell; vertical-align:middle; text-align: center; /*设置文本水平居中*/ width:100%; }css多行文本垂直居中效果如下:
本篇文章到这里就结束了,其实还有其他方法就不一一介绍了,更多精彩可以关注php中文网。
以上就是css中怎么设置文本居中?css文本垂直居中的设置方法的详细内容,更多请关注php中文网其它相关文章!
网站建设是一个广义的术语,涵盖了许多不同的技能和学科中所使用的生产和维护的网站。……