基于font-family的条件字体大小

时间:2013-01-05 11:32:52

标签: jquery html css conditional font-size

有没有办法在CSS或jQuery中编写基于font-family的条件字体大小?

3 个答案:

答案 0 :(得分:5)

不是真的。但是在一些有限且相对无用的意义上,是的。

在CSS中,属性是相互独立的,除非CSS规范定义了一个关系。

在脚本编写中,您可以做很多事情,但是查询css('font-family')的简单jQuery方式只能为您提供指定的列表。如果你声明font-family: Ariel, Helvetia, sansserif(这个声明是故意破坏的,虽然正式有效),它会给你字符串Ariel, Helvetia, sansserif,即使这些字体实际上没有用于该元素。因此,对于最常见的用例(您希望使用字体列表,覆盖不同的系统,并希望根据实际使用的字体使字体大小不同),此方法无用。

有一些棘手的方法可以尝试在JavaScript中找出实际用于元素的字体。它们通常基于评估某些文本的宽度,并将结果与​​某些字体中文本的宽度进行比较。

最后,使用font-size-adjust的逻辑虽然支持不当,但却很有用。只有Firefox支持它,并且支持部分被严重破坏(它使用错误的x高度信息;例如,x-height of Verdana实际上是0.545。

答案 1 :(得分:1)

是的,你可以轻松地使用jquery:

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

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

使用css()读取属性font-family,例如检查它的Arial,然后设置你想要的任何css属性。或者添加一个类。

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

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

答案 2 :(得分:0)

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