2013-01-05 65 views
7

有沒有什麼方法可以在CSS或jQuery中基於字體系列來編寫條件字體大小?基於字體系列的條件字體大小

+0

請在你的問題中更具體一些,例如給出一個例子你想要的東西實現 – Eli

+4

@ user1479606我不瞭解你,但我發現問題完全清楚,不知道爲什麼它會被downvoted –

+0

@KonradRudolph不,不清楚,特別是當你不知道他目前的情況是什麼,CSS實現這樣的事情? – Eli

回答

1

是的,你可以使用jQuery easyly:

http://jsbin.com/acuzah/1/edit

if ($("div").css('font-family') === 'Arial') 
{ 
    $("div").css({'color': '#00FF00'}); 
} 

用css()你讀的財產FONT-FAMILY,檢查其宋體例如,然後設置你想要的任何CSS屬性。或者添加一個班級。

http://api.jquery.com/css/

http://api.jquery.com/addClass/

+0

非常感謝,它的工作。 – Body

+1

只有當'font-family'屬性被設置爲字面值'Arial'時才起作用。如果這樣就足夠了,你可以直接在設置'font-family:Arial'的元素上直接設置'font-size'。 –

0
if ($("div").css('font-family') === 'Arial') 
{ 
    $("div").css({'font-size': '100px'}); 
} 
5

不是真的。但是在一些有限且相對無用的意義上,是的。

在CSS中,屬性是相互獨立的,除非CSS規範定義了關係。

在腳本中,你可以做很多事情,但簡單的jQuery方式,查詢css('font-family')只會給你指定的列表。如果您聲明font-family: Ariel, Helvetia, sansserif(此聲明有意破壞,雖然正式有效),但會爲您提供字符串Ariel, Helvetia, sansserif,即使這些字體實際上沒有用於該元素。所以這種方法對於最常見的用例是無用的(你想使用字體列表來覆蓋不同的系統,並希望字體大小根據實際使用的字體而變化)。

有一些棘手的方法可以嘗試在JavaScript中找出實際用於元素的字體。它們通常基於評估一些文本的寬度並將結果與​​某些字體中文本的寬度進行比較。

最後,使用font-size-adjust的方式是合乎邏輯但支持力度不足的。只有Firefox支持它,並且支持部分被嚴重地破壞(它使用錯誤的x高度信息;例如,x-height of Verdana實際上是0.545。

+0

這完全不是一種安慰。另外,jQuery是這裏最合理的選擇。如果字體由於某種原因而不被支持,並且真正的字體變成helvetica,這將影響瀏覽器的一小部分。你似乎對css很陌生,但有些瀏覽器甚至不支持css或圖像。沒有辦法使任何100%兼容。最好的方式來解決這個問題與大多數瀏覽器的最佳覆蓋是jQuery檢查設置CSS。 – user1721135

+1

@ user1721135事實上,答案很好。如果有疑問,在你自己的理解中而不是其他人的缺點。你的說法「你似乎是CSS的新手」是非常可笑的。你*知道'font-size-adjust'嗎?我不這麼認爲。 Jukka做到了,這正是OP之後的事情(但它不起作用)。 –

+0

是的,我知道字體大小調整和它的無用,因爲它不支持許多瀏覽器。提到無用的理論解決方案是什麼讓我質疑你的專業知識和實際的經驗。 OP聽起來像他必須做的工作,並遵守規範,聽起來不像他正在一個只有4樂趣的學校項目工作。 – user1721135

相關問題