2012-04-16 18 views
1

我的CSS定義的字體家庭級聯取決於什麼字體可用:如何在javascript中計算下伸高度?

.myfont { 
    text-transform: uppercase; 
    font-family: Calibri, Arial, sans-serif; 
    padding: 2em; 
    background-color: red; 
} 

,並根據呈現什麼字體,我想調整填充適當居中全部大寫文字在<sarcasm>美麗的</sarcasm>紅色背景。有沒有一種很好的方法來計算字體的大小descender,以便我可以相應地調整底部填充?

解決方案的獎勵積分也計算出ascender height,cap heightx-height

在此先感謝!

+0

可能更好地使用'線height'(使用相對單位),而不是'padding'以考慮。 – steveax 2012-04-16 19:53:34

+0

在這個特定的情況下,這工作。考慮到應該有辦法做到這一點,它只是有點不盡人意。 – dino 2012-04-19 11:12:18

回答

2

這是可能的:由baseline ratio,或typography.js插入兩個跨到div容器,用0像素字體大小和大字體大小像100或2000,調用getBoundingClientRect();,得到高度差,並分:使用這個庫更大的高度。 0像素字體位於基線上。這給出了基線比率,上行和下行的百分比。

0

AFAIK這是不可能的JavaScript。您可能能夠找出使用的字體,但不能查找字體參數。

所以,你需要尋找這些參數(例如,在字體庫)並被字體將它們存儲,這樣就可以找一找,一旦你知道所使用的字體。