当前位置: 首页 > 知识 >正文

div+css文字垂直居中

第三,固定多行文本的中心高度

在本文的开始,我们已经说过CSS中的vertical-align属性将只对具有valign特性的(X)HTML标签起作用,但是CSS中还有一个display属性可以模拟table。

所以我们可以用这个属性让div模拟表格,使用垂直对齐。注意display:table和display:table-cell的用法,前者必须设置在父元素上,

后者必须在子元素上设置,因此我们需要为要定位的文本添加另一个div元素:

downcc.com提供的代码片段():

div#wrap {

height:400px;

display:table;

}

div#content {

vertical-align:middle;

display:table-cell;

border:1px solid #FF0099;

background-color:#FFCCFF;

width:760px;

}

downcc.com提供的代码片段():

!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'

html xmlns='http://www.w3.org/1999/xhtml'

head

标题多行文本垂直居中/标题

meta http-equiv='Content-Type' content='text/html; charset=utf-8'/

style type='text/css'

body { font-size:12px;font-family:tahoma;}

div#wrap {

height:400px;

display:table;

}

div#content {

vertical-align:middle;

display:table-cell;

border:1px solid #FF0099;

background-color:#FFCCFF;

width:760px;

}

/style

/head

body

div id='wrap'

Div id='content'pre现在我们要将文本垂直居中!

div#wrap {

height:400px;

display:table;

}

div#content {

vertical-align:middle;

display:table-cell;

border:1px solid #FF0099;

background-color:#FFCCFF;

width:760px;

}

/pre/div

/div

/body

/html

这种方法应该是比较理想的,可惜Internet Explorer 6无法正确理解display:table和display:table-cell。

因此,此方法在Internet Explorer 6及以下版本中无效。嗯,真郁闷!但是还有其他方法。

第四,Internet Explorer中的解决方案

在Internet Explorer 6及以下版本中,高度的计算存在缺陷。在Internet Explorer 6中定位父元素后,如果再次计算子元素的百分比,

计算的依据似乎是继承的(如果定位值是绝对值,就没有这个问题,但是使用百分比计算的依据将不再是元素的高度,而是从父元素继承的定位高度)。例如,我们有以下(X)HTML代码片段:

downcc.com提供的代码片段():

div id='wrap'

div id='subwrap'

div id='content'

/div

/div

/div

如果我们对子工作区进行绝对定位,那么内容将继承这个属性。虽然不会立即显示在页面上,但是如果我们对内容进行相对定位,

你使用的100%分数将不再是内容的原始高度。例如,我们将子包装的位置设置为40%,如果我们希望内容的上边缘与包装重合,则必须将顶部设置为:-80%;所以,

如果我们将子工作区的顶部设置为50%,我们必须使用100%来将内容恢复到原始位置,但是如果我们也将内容设置为50%会怎么样呢?然后就是垂直居中。

所以我们可以使用这中方法来实现Internet Explorer 6中的垂直居中:

downcc.com()提供的代码片段:

div#wrap {

border:1px solid #FF0099;

background-color:#FFCCFF;

width:760px;

height:400px;

position:relative;

}

div#subwrap {

position:absolute;

border:1px solid #000;

top:50%;

}

div#content {

border:1px solid #000;

position:relative;

top:-50%;

}

当然,这段代码只能在Internet Exlporer 6等计算存在问题的浏览器中才会有作用。(不过我不解,我查阅了很多文章,不知道是因为出处相同还是什么原因,

相关文章:
  • 3月31日基金净值:长盛量化红利混合最新净值2.405,涨0.21%_基金频道_证券之星
  • 4月17日基金净值:大成产业趋势混合A最新净值1.4748,涨1.84%
  • 7月6日基金净值:海通海升六个月持有债券A最新净值1.1852,涨0.02%
  • 7月11日基金净值:华富国泰民安灵活配置混合最新净值1.257,涨2.86%
  • 6月14日基金净值:华安精致生活混合A最新净值1.2263,跌0.02%
  • 博时港股通消费ETF净值下跌2.50% 请保持关注
  • 5月24日基金净值:南方医药保健灵活配置混合A最新净值2.412,跌1.67%
  • 5月5日基金净值:南方优选成长混合A最新净值3.483,跌0.8%
  • 6月13日基金净值:嘉实沪深300ETF最新净值3.9445,涨0.57%
  • 4月4日基金净值:工银精选金融地产混合A最新净值1.2507,跌0.45%_基金频道_证券之星