我使用行高屬性將某些文本與菜單中的圖標對齊。我已經創建了一個簡化版本(沒有圖標)來說明我的問題。這似乎與字體的一般垂直對齊有關。文本不是垂直居中
你可以看到的jsfiddle這個問題:http://jsfiddle.net/KFxG3/1/
的代碼是非常簡單的:
<div>qb - Some text - qb</div>
加法風格:
div {
background-color: green;
height: 22px;
line-height: 22px;
font-size: 20px;
font-family: 'Segoe UI', 'Verdana', 'Arial';
}
這是怎麼看起來像:
,這是它應該如何看起來像:
爲什麼會發生這種情況在新的瀏覽器?我已經在Firefox 27.0上的Windows 8.1 64位上測試過它。
編輯:我想知道,爲什麼瀏覽器不能正確渲染。如果將'a'這樣的小寫字母應用於「綠色」的頂部和底部,則應用高度與容器一樣的高度即可。但渲染是錯誤的。
編輯#2:這是一個與字體問題。 Segoe UI似乎有一個奇怪的基準。當使用Arial,Verdana或任何垂直對齊更合適(但它也不完美)。 - >http://jsfiddle.net/KFxG3/22/
http://jsfiddle.net/KFxG3/3/ <---者均基於行爲是完美的,q總是流出來,你的文本也是垂直對齊的 –
你會說得對,@先生阿里恩我用了15px並查看它我是1出來! ':(' – Albzi
但是,設置另一個行高來解決問題並不是正確的方法,看起來Segoe UI的基線是錯誤的。 – SuperNova