多行文字的垂直水平居中
2010-09-09 18:48
253 查看
让单行文字垂直居中显示,就是使用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
但是,如何实现父容器高度固定,文字可能一行,两行或更多行的垂直居中对齐呢?
实现的关键是把文字当图片处理。用一个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; }
示例:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>多行文字垂直水平居中</title> <mce:style><!-- .align_box_2{ display:table-cell; width:550px; height:18px; border:4px solid #beceeb; color:#069; vertical-align:middle; font-size:160px;} .align_box_2 span.align_word{ display:inline-block; vertical-align:middle; font-size:12px; } --></mce:style><style mce_bogus="1"> .align_box_2{ display:table-cell; width:550px; height:18px; border:4px solid #beceeb; color:#069; vertical-align:middle; font-size:160px;} .align_box_2 span.zxx_align_word{ display:inline-block; vertical-align:middle; font-size:12px; }</style> </head> <body> <div class="align_box_2"> <span class="align_word"><a href="">这里的文字用来做多行文字垂直居中对齐的测直居中。</a></span> </div> </body> </html>
需要注意的问题:
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
相关文章推荐
- 大小不固定的图片、多行文字的水平垂直居中
- 图片、多行文字的水平垂直居中
- 大小不固定的图片、多行文字的水平垂直居中
- 多行文字水平垂直居中在div
- 大小不固定的图片、多行文字的水平垂直居中
- 纯css实现div中单行文字,多行文字,嵌套div垂直水平居中问题
- Css 中单行及多行文字如何实现水平垂直居中?
- 大小不固定的图片、多行文字的水平垂直居中
- css3——大小不固定的图片、多行文字的水平垂直居中
- 大小不固定的图片、多行文字的水平垂直居中
- 元素,单行文字或多行文字,图片 之 水平垂直居中的方法大全及例子分析
- 大小不固定的图片、多行文字的水平垂直居中
- 大小不固定的图片,多行文字水平垂直居中
- 图片水平垂直居中 多行文字垂直居中
- 大小不固定的图片、多行文字的水平垂直居中
- 关于多行文字水平垂直居中的一点心得分享
- 大小不固定的图片、多行文字的水平垂直居中实现方法
- css实现多行文字与图片垂直水平居中
- 纯css多种方法实现div中单行文字、多行文字及嵌套div垂直水平居中
- 大小不固定的图片、多行文字的水平垂直居中