div设计中的文字垂直居中的方法-阿里云开发者社区

开发者社区> 开发与运维> 正文

div设计中的文字垂直居中的方法

简介: CSS中怎样设置才能使对象中的文字垂直居中于对象,这个问题也是捆扰很多朋友的难题。现在网上的很多代码都做不到浏览器兼容。我把网上有关的方法整理了一下,做了些改动,完全可以兼容各主流浏览器。 下面具体说一下在不同情况下垂直居中的方法。

CSS中怎样设置才能使对象中的文字垂直居中于对象,这个问题也是捆扰很多朋友的难题。现在网上的很多代码都做不到浏览器兼容。我把网上有关的方法整理了一下,做了些改动,完全可以兼容各主流浏览器。

下面具体说一下在不同情况下垂直居中的方法。

一、一行文字垂直居中

看一下下面的代码:

img_1c53668bcee393edac0d7b3b3daff1ae.gif

img_1c53668bcee393edac0d7b3b3daff1ae.gifimg_405b18b4b6584ae338e0f6ecaf736533.gifCode
 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
 5 <title>垂直居中</title>
 6 <script type="text/javascript" language="javascript">
 7 function sel(id) {switch(id) {case "1":document.getElementById("sub").style.lineHeight = "normal";break;case "2":document.getElementById("sub").style.lineHeight = "20px";break;case "3":document.getElementById("sub").style.lineHeight = "28px";break;}}
 8 </script>
 9 <style type="text/css">
10 #all {
11 width:240px;
12 padding:10px;
13 font-size:12px;
14 color:#FFF;
15 background-color:#CCC;
16 }
17 #sub {
18 width:230px;
19 padding:0 5px;
20 height:20px;
21 overflow:hidden;
22 background-color:#F90;
23 }
24 #sel {
25 margin-top:5px;
26 }
27 select {
28 width:260px;
29 }
30 </style>
31 </head>
32 <body>
33 <div id="all">
34 <div id="sub">一行文字垂直居中,此对象高度为20px</div>
35 </div>
36 <div id="sel"><select onchange="sel(this.value)"><option value="1">默认值,设置行高为:normal</option><option value="2">设置行高和对象高度相同:20px</option><option value="3">设置行高比对象的高度大:28px</option></select></div>
37 </body>
38 </html


方法:line-height:20px。设置相同的行高和对象高度。

说明:这种设置简单又兼容各种浏览器,支持内联对象。但如果是固定高度的对象,只能显示一行。当有两行文字时,如果不设置“overflow:hidden”会把对象撑开。

二、多行文字,且高度自适应

请看下面的代码: 

img_1c53668bcee393edac0d7b3b3daff1ae.gifimg_405b18b4b6584ae338e0f6ecaf736533.gifCode
  1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2 <html xmlns="http://www.w3.org/1999/xhtml">
  3 <head>
  4 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  5 <title>垂直居中</title>
  6 <script type="text/javascript" language="javascript">
  7 function sel(id) {switch(id) {case "1":document.getElementById("sub").innerHTML = "三行文字垂直居中,设置相同的内上边距padding-top和内下边距padding-bottom就可以。";break;case "2":document.getElementById("sub").innerHTML = "两行文字垂直居中,设置相同的内上下边距padding-top和padding-bottom就可以。";break;case "3":document.getElementById("sub").innerHTML = "一行文字垂直居中,内上下边距相同。";break;}}
  8 </script>
  9 <style type="text/css">
 10 #all {
 11 float:left;
 12 width:240px;
 13 padding:10px;
 14 font-size:12px;
 15 color:#FFF;
 16 background-color:#CCC;
 17 }
 18 #sub {
 19 float:left;
 20 width:230px;
 21 padding:10px 5px;
 22 background-color:#F90;
 23 }
 24 #sel {
 25 clear:both;
 26 padding-top:5px;
 27 width:260px;
 28 }
 29 select {
 30 width:260px;
 31 }
 32 </style>
 33 </head>
 34 <body>
 35 <div id="all">
 36 <div id="sub">三行文字垂直居中,设置相同的内上边距padding-top和内下边距padding-bottom就可以。</div>
 37 </div>
 38 <div id="sel"><select onchange="sel(this.value)"><option value="1">三行文字垂直居中</option><option value="2">两行文字垂直居中</option><option value="3">一行文字垂直居中</option></select></div>
 39 </body>
 40 </html>
 41 <br />
 42 <DIV id="page_123" class="cGreen"><href='#'>上一页</a><strong>1</strong><href='07-1359_2.html'>2</a> <href='07-1359_2.html'>下一页</a>  </DIV>
 43             <!--操作-->
 44             <div class="context">
 45                 <div id='digg1359' class='diggArea'>
 46                 <div class='diggNum'>0</div>
 47                 <div class="diggLink"><href="javascript:Digg('digg',1359);">顶一下</a></div>
 48                 </div>
 49 
 50                  <div style="float:left; margin-left:20px; margin-top:10px">
 51                     上一篇:<href='/html/jianzhanjiaocheng/wangyesheji/200809/07-1358.html'>web标准中Iframe自适应高度[ie_firefox下都可用]</a> 
 52                     <br />
 53                     下一篇:<href='/html/jianzhanjiaocheng/wangyesheji/200809/07-1360.html'>让IE6乖乖的使用mediatype样式</a> 
 54                 </div>
 55 
 56            </div>
 57            
 58 <DIV id=ArtInfo style="FONT-SIZE: 12px"> <span><href="/plus/stow.php?arcID=1359">收藏 </a>]</span> <span>[<href="/plus/recommend.php?arcID=1359"> 推荐 </a>]</span> <span>[<href="/plus/feedback.php?arcID=1359"> 评论 </a>]</span> <span><href="#" onClick="window.print();">打印 </a>]</span> <span>[<href="#" onClick="window.close();"> 关闭 </a>]</span> </DIV>
 59 <DIV id=Preadblock></DIV>
 60 <!--[if !IE]>|xGv00|def10af2b706d708d2fae346402958b1<![endif]--><!--/link--><!--/link--></DIV>
 61 <SCRIPT type=text/javascript>
 62     var tclStr = document.getElementById("Preadblock").innerHTML;
 63     var artInfoStr2 = document.getElementById("ArtInfo2");
 64     var artInfoStr1 = document.getElementById("ArtInfo");
 65     if(tclStr.length>0){
 66         artInfoStr2.innerHTML=artInfoStr1.innerHTML;
 67         artInfoStr2.className="yanselan";
 68         artInfoStr1.innerHTML="";
 69         artInfoStr1.style.display = "none";
 70         
 71     }
 72     else{
 73         artInfoStr2.style.display = "none";
 74         artInfoStr2.className="";
 75     }
 76     </SCRIPT>
 77 <!--[if !IE]>|xGv00|41346b3287db3847e4d38b597a7b0a4f<![endif]-->
 78 <!--[if !IE]>|xGv00|8562b5198b819aae2599422d037fbd8e<![endif]-->
 79 <DIV id=newsAbout>
 80 <DL>
 81   <DT>
 82   <class=Ltitle>相关新闻</P></DT>
 83   <DD>
 84   <TABLE cellSpacing=0 cellPadding=0 width="100%" align=center bgColor=#666666 
 85   border=0>
 86     <TBODY>
 87     <TR>
 88       <TD 
 89       style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px" 
 90       vAlign=top width="62%" bgColor=#ffffff>
 91         <TABLE height="100%" cellSpacing=0 cellPadding=0 width="100%" 
 92         align=center bgColor=#666666 border=0><!--relaTitleS-->
 93           <TBODY>
 94           <TR>
 95             <TD 
 96             width="40%" align="center" bgColor=#ffffff 
 97             style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px"> </TD>
 98             <TD 
 99             width="60%" align="left" bgColor=#ffffff 
100             style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px">·<href='/html/jianzhanjiaocheng/wangyesheji/200806/08-1031.html'>客齐集OEM的CSS解析</a>(06-08)<br/>·<href='/html/jianzhanjiaocheng/wangyesheji/200809/07-1362.html'>用Gnome HIG原则指导你的W</a>(09-07)<br/>·<href='/html/jianzhanjiaocheng/wangyesheji/200809/07-1361.html'>使三种浏览器IE FireFox O</a>(09-07)<br/>·<href='/html/jianzhanjiaocheng/wangyesheji/200809/07-1363.html'>教你识别CSS中ID和CLASS的</a>(09-07)<br/>·<href='/html/jianzhanjiaocheng/wangyesheji/200809/07-1347.html'>WEB标准中元素水平居中方</a>(09-07)<br/>·<href='/html/jianzhanjiaocheng/wangyesheji/200809/07-1360.html'>让IE6乖乖的使用mediatype</a>(09-07)<br/>·<href='/html/jianzhanjiaocheng/wangyesheji/200809/07-1355.html'>DIV CSS常见错误汇总</a>(09-07)<br/>·<href='/html/jianzhanjiaocheng/wangyesheji/200809/07-1356.html'>web标准中右下角广告代码</a>(09-07)<br/> </TD>
101           </TR><!--relaTitleE--><!--relaCatalogS--><!--relaCatalogE--><!--relaAuthorS--><!--relaAuthorE--><!--relaSourceS--><!--relaSourceE--></TBODY></TABLE></TD></TR></TBODY></TABLE></DD></DL></DIV>
102 <DIV id=pinlun>
103 <DIV class=ptou>发表评论</DIV>
104 <div class="comment">
105             <!--评论:标题-->
106             <div class="commenttitle">
107                 <div class="title"><strong>最新评论</strong>共有 0 位网友发表了评论 </div>
108                 <div class="gotopost"><href="/plus/feedback.php?arcID=1359">查看所有评论</a></div>
109             </div>
110             <!--评论内容-->
111             <div class="commentbox">
112                 <script src="/plus/feedback_js.php?arcID=1359"></script>
113             </div>
114             <!--发表评论:标题-->
115             <div class="posttitle"><strong>发表评论</strong></div>
116             <!--发表评论-->
117             <form action="/plus/feedback.php?action=send" method="post" name="feedback">
118               <input type="hidden" name="arcID" value="1359">
119               <div class="postbox">
120                 <div class="txtbox">
121                     <strong>评论内容:</strong>不能超过250字,需审核,请自觉遵守互联网相关政策法规。
122                     <textarea name="msg" cols="60" rows="6"

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章