2013-07-10 62 views
1

中心的文字,我想然而,中心将在一个按钮上的文字,似乎坐得远了,至少在Chrome中。任何技巧?我试过设置行高。CSS:在按钮

http://jsfiddle.net/BCKYp/

<button>go</button> 

button{ 
    background:yellow; 
    height:23px; 
    width:28px; 
    padding:0; 
    margin:0; 
    border:solid black 1px; 
    line-height:23px; 
} 

回答

3

使用的line-height,则需要将其设置为字体大小。

另外补充vertical-align: top

button { 
    background:yellow; 
    height:23px; 
    width:28px; 
    padding:0; 
    margin:0; 
    border:solid black 1px; 
    line-height:13px; 
    font-size: 13px; 
    vertical-align: top; 
} 

http://jsfiddle.net/BCKYp/8/

+0

太棒了,谢谢。认为它必须与高度相等,愚蠢的我。 – user984003

+0

'vertical-align:top'不会改变任何东西 –

+0

@ExplosionPills它确实改变了某些东西,比如将按钮定位到顶部而不是底部。这里用例子解释一下:http://jsfiddle.net/BCKYp/20/ –

0

我只想设置一个小line-height,但真的我会用一个重置的CSS文件,以确保这将会对所有浏览器类似的效果。

line-height: 21px; 

由于上述在其他浏览器上看起来不同,但会解决Chrome的问题。这是一个丑陋的解决方案。

0

在您的css类中再添加一个属性。以下属性添加到您的类

text-align: center; 
2

设置行高等于元素的高度正常工作,如果你的文字写成大写。行高预计将用作样式段落的属性,并将它用于将元素居中放置在div或按钮中,您必须调整它的每个特定案例的值。

在你的情况下,你可以直观地调整行高或使用padding-top和padding-bottom来确定元素的大小。

+0

这个。为了增加控制,你可能需要设置'box-sizing:border box;',因为它删除了crossbrowser border + padding sizing isues。 –

1

这是问题的情况下的情况下,我个人会删除heightline-height并设置topbottompadding。由于字符'g'的性质在下面占用更多空间,所以它看起来也略微偏斜。

我更倾向于将:

button{ 
    background:yellow; 
    width:28px; 
    padding:5px 0; 
    margin:0; 
    border:solid black 1px; 
} 

这里有一个更新的fiddle,可以调整填充,以满足您的需求。我还添加了另一个按钮,以显示更多居中字符。 Y.

+0

我也会这样做。 broswers之间的线高度不同,发现使用这种方法可以产生我认为最好的跨浏览器结果。 – Doidgey