2013-07-10 100 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