2009-11-03 72 views

回答

1

使用padding-top而不是margin-top。请记住,向顶部添加填充将添加到高度,因此您需要从高度减少用于填充的数量。如果您只希望文本的顶部和底部有15像素,只需执行以下操作:

padding: 15px 0px; 

根本没有指定高度。

+0

我觉得提问者希望它是30像素,文字高度的包容性。 – mauris 2009-11-03 12:58:36

+0

讨厌的时间处理造型这种联系形式,你的建议解决了它,thx! – dcparham 2017-01-16 00:12:46

8

您可以:

<div style="height:30px; line-height:30px; text-align:center;"> 
    Label 
</div> 

设置文本的line-height帮助您适应高度只有一行。

+0

向我的div风格添加行高解决了问题 – Ziggler 2016-04-12 21:53:12

22
height: 30px; line-height: 30px; padding: 0; 
+0

感谢Man。它帮助我.. – Krishnan 2011-07-08 05:11:43

0

如果你想要任何东西在它的父母的中心,只要给出父母使用风格的特定宽度,并给孩子style =“margin:0 auto”。 好运

+0

水平和非IE6,是的。但问题是关于垂直定位。 – 2009-11-03 13:01:03

10

以下CSS将工作

text-align:center; 
vertical-align:middle; 
display:table-cell; 
+3

虽然不在IE中... – DisgruntledGoat 2009-11-03 13:12:38

+0

@DisgruntledGoat在IE8中工作,哪个IE专门做这个不行? – anpatel 2012-03-29 19:30:39

+1

@MyName这个答案最初发布** 3年前**,当时IE6和IE7仍然有很大的市场份额。所以现在应该可以使用。 – DisgruntledGoat 2012-03-30 11:01:34

0

<label></label>元素不是块级元素,它是一个内联元素。

试试这个代码 <div style="height:30px"> <label style="display:block; margin-top:15px;"> </label> </div>

0
#MyDiv 
{ 
    background-image: url(images/pagedescription_bar.png); 
    background-repeat: repeat-x; 
    border-color: #868686; 
    border-width: thin; 
    border-style: solid; 
    border-style: none; 
    width: 1008px; 
    height:70px; 
    color: #FB8022; 
    font-size: 16px; 
    font-weight: bold; 
} 

#MyDiv label 
{ 
    width: 1008px; 
    text-align: center; 
    height: 70px; 
    vertical-align: middle; 
    display:table-cell; 
}