多行文字的垂直水平居中

让单行文字垂直居中显示,就是使用line-height,将line-height值与外部标签盒子的高度值设置成一致就可以了。例如如下css代码:height:3em; line-height:3em;

 

但是,如何实现父容器高度固定,文字可能一行,两行或更多行的垂直居中对齐呢?
实现的关键是把文字当图片处理。用一个span标签将所有的文字封装起来,设置文字与图片相同的display属性(inline-block属性),然后用处理图片垂直居中的方式处理文字的垂直居中即可。
核心css代码如下,
外部div标签:

{display:table-cell; width:550px; height:1.14em; padding:0 0.1em; border:4px solid #beceeb; color:#069; font-size:10em; vertical-align:middle;}
内部span标签:

{display:inline-block;vertical-align:middle;font-size:0.1em; }

 

示例:

 

需要注意的问题:

1. 外部div 如果是在其它元素,如li 时,必须清除所有的浮动。

2. 必须设置font-size,否则在ie6下不生效。

 

附:

CSS的em、px、pt长度单位转换

在IE6.0字体设定为中的时候,如果字体未做任何CSS设定或者<font size>元素的设定,默认的字体是12pt,或者16px,或者1em,或者font size=3。em、px、pt的换算关系如下:

在线工具:http://www.auiou.com/relevant/00000430.jsp

 

参考:

张旭鑫 《大小不固定的图片和多行文字的垂直水平居中》

http://www.zhangxinxu.com/study/200908/img-text-vertical-align.html?jdfwkey=jhvtv1

1em=16px
1em=12pt

1px=1/16 em=0.0625em
1px=3/4 pt=0.75pt

1pt=1/12 em≈0.0833em
1pt=4/3 px≈1.3333px

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值