怎样让css+div文字垂直居中

时间:2013.06.16 发布人:qcsxh

怎样让css+div文字垂直居中

已解决问题

谷歌qcsxh用户在2013.06.16提交了关于“蒙面唱将猜猜猜怎样让css+div文字垂直居中”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-08-15T07:20:46。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,没有什么华丽的语言,但是我对你的感谢不会减少 !

希望以下的回答,能够帮助你。

第1个回答

用户名:zhandai325124  

line-height通常是用于调节一段文字的行与行之间的距离,或者说两行文字之间的距离,如果行高是50模杆肥记扩树宪数飞清价0px,那么每一行中的文字距离本行的顶部就是250px,如果将文字的行高设为500px,并且外面的容器的高度也为500px,同样可以实现垂直居中,但是用它来实现垂直居中,也是有缺点的,就是如果内容过多,文字就会跑到下一行,那么内容就不可能垂直居中了。

h**TML代码:

<h1>h**i,I'm<span>VerticallyA问答ligned</span>Withint乡宜为利正研到义甚江尽heh**1</h1>


CSS代门顾见米并周码:

body{
margin:0;
padding:0;
backgroun业凯有操d:#1d1d1d;
font-size:10px;
font-family:Verdana,Ari造格燃右集双丰叶al,h**elvetica,sans-serif;
}
h1宽酸保读行训祖{
font:3emGeorgia,"TimesNewRoman",重什值总定评照并型求齐Times,serif;
color:#fff;
height:500px纸变;
line-height:500px;
text-align:center;
border:10pxsolid#999;
}
h1span{
font-weight:bold;
font-size:1.5em;
color:#fff000;
}
p{
font-size:1.3em;
colo么元照维而问如局罪r:#999;
}
st掌想企季rong{
color:#fff;
}




方法二:利用绝对**

这个方法有个缺点我必须指出,就是外面的块状元素,必须指定高度,所以如果你在里面放动态的内容的话,后果会很糟糕滴~


h**TML代码:
<divclass="vert">
<h1>h**i,I'm<span>VerticallyAlign略延跑食大福哥丝ed</span></h1>
<p>Abigosudomarapaulatimodio,accumsanlupta片tumnibhnibhreferometuoopesutfatua.Acsietferesimilis<strong>Using</strong>augue<strong>absolute</strong>vali**s.Reg东缺专巴ula<strong>positioning</strong>eujusvel,indolesfereiaceoeasimilis.Veli燃击支讨责继临植宜计tpraemitto**llavelluctussecun**m.</p>
</div>



CSS代码
这种用绝对**来实现的垂直居中,取决与元素的宽度和高度,你可以用下面这两个公式来计算元素的左尔百使十害刘烟所的酒聚边距和上边距

元素的宽度/2=负左边距
元素的高度/2=负上边双距

在这个例子中,我们就是这么计算的
.vert{
width:580px;
height:190px;
position:absolute;
top:50%;
left:50%;
margin:-9**x00-290px;
}


完整CSS代码
body{
margin:0;
padding:0;
background:#1d1d1d;
font-size:10px;
font-family:Verdana,Arial,h**elvetica,sans-serif;
}
h1{
font:4emGeorgia,"TimesNewRoman",Times,serif;
color:#fff;
border-bottom:**xdotted#999;
margin:0;
padding:0010px;
}
h1span{
font-weight:bold;
display:block;
font-size:1.5em;
color:#fff000;
}
p{
font-size:1.3em;
color:#999;
}
strong{
color:#fff;
}
.vert{
width:580px;
height:190px;
position:absolute;
top:50%;
left:50%;
margin:-9**x00-290px;
}


问题延伸
如果元素的外面还有一个父级元素,如果才能让元素垂直居中于父级元素**?比如下面的代码,多了一个父级元素
<divclass="container">
<divclass="vert">
<h1>h**i,I'mNested&amp;<span>VerticallyAligned</span></h1>
<p>Abigosudomarapaulatimodio,accumsanluptatumnibhnibhreferometuoopesutfatua.Acsietferesimilis<strong>Using</strong>augue<strong>absolute</strong>vali**s.Regula<strong>positioning</strong>eujusvel,indolesfereiaceoeasimilis.Velitpraemitto**llavelluctussecun**m.</p>
</div>
</div>


这时候,就必须在定义父级元素的CSS代码中加入position:relative;才能够使**元素垂直居中于父级**,代码如下:
.container{
position:relative;
height:500px;
width:800px;
border:10pxsolid#999;
background:#000;
margin:20px;
}