0

我似乎无法在我的 div 的中心垂直居中文本。它一直漂浮在顶部。这是我的代码:CSS

.dialer{
background-image: url('http://v4m.mobi/php/fb/images/close.png'); 
background-repeat: none;  
width: 100; 
height: 40; 
margin: 0 auto;
-moz-box-shadow: 0 12px 8px -8px rgba(0,0,0,0.7);
-webkit-box-shadow: 0 12px 8px -8px rgba(0,0,0,0.7);
box-shadow: 0 12px 8px -8px rgba(0,0,0,0.7);
text-align: center;
}       

HTML

<div class="dialer" align="center"><a href="http://v4m.mobi/php/fb/index.php"   
style="color: #ffffff; font-size: 18px; font-weight: bold; text-decoration: none; 
margin-top: 20px;">Close App</a></div>

有什么建议么?

谢谢

4

4 回答 4

2

试试这个

http://css-tricks.com/vertically-center-multi-lined-text/

于 2012-04-24T14:39:03.477 回答
1

添加vertical-align: middle;.dialer.

您也可以这样做margin: auto auto;,因为您的高度和宽度具有固定值。但是,您需要指定值的“类型”,例如px,%或任何适合您的目的。

您也可以像这样进行相对定位:

.dialer {
    ...
    position: relative;
    top: 47%;
}
于 2012-04-24T13:59:11.250 回答
1

从 a 标签中删除“margin-top:20px”,然后使用类似:

.dialer {
    ...
    height: 40px;
}

.dialer a {
    line-height: 40px;
}

...但这仅在您知道文本适合一行时才有效。

于 2012-04-24T14:02:27.257 回答
0

这是一个有效的小提琴:http: //jsfiddle.net/PvVr6/4/ 我已经更新了小提琴,所以它也可以处理多行内容。

.dialer{
       ... 
       width: 100px;
       height: 40px;
       ...
       vertical-align: middle;
    }

    .dialer a {
        display: inline-block;  
    }
于 2012-04-24T14:10:02.103 回答