[英]how to make the text vertical align the middle
如前所述,在不是表格单元格的任何内容上都不真正支持垂直对齐。
但是,如果您只是尝试将一行文本居中,则可以使用line-height
。 如果将line-height
设置为与元素的height
相同,并删除任何填充,则文本将显示在元素的中间,就像垂直对齐一样。
因此,在您的示例中,以下操作将起作用(如果您先删除默认样式):
line-height:28px;
height:28px;
padding:0px;
但是,如果文本换行超过一行,则此解决方案将无法正常工作,文本会突然变得间隔很大。
对于更通用的解决方案,最好使用javascript动态计算出特定元素所需的填充。
您无法在表格外垂直对齐文本,因此有两种选择:
您可以使用父元素的填充来实现v对齐文本的错觉。 正如龙先生所说明的。
要么
您将父元素的位置设为:relative; 和子元素绝对值:
<div id='container'>
<div id='txt'>My Text</div>
</div>
#container{
position:relative;
}
#txt{
position:absolute; left:0px; top:50%;
margin-top:10px; /* half the height of the text element */
}
/* hint: for scaling attributes use %'s */
我认为第一种选择是您所用的最简单的方法。
祝你好运,兄弟!
W.
试试这个:padding:0px 0px 4px 0px;
添加以下内容以清除Mozilla中的默认按钮填充:
button::-moz-focus-inner {
border:0;
padding-top:0;
}
如果您想在div内垂直或水平居中放置文本,可以尝试一下
#container{
position:relative;
width:200px;
height:300px;
border:1px solid #CCCCCC;
}
#txt{
position:absolute;
width:150px;
height:50px;
top:50%; left:50%;
margin-top:-25px; /* 1/2 of height */
margin-left:-75px;/* 1/2 of width */
border:1px solid #FF0000;
}
<div id="container">
<div id="txt">My Text</div>
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.