有没有办法在CSS或jQuery中编写基于font-family的条件字体大小?
答案 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属性。或者添加一个类。
答案 2 :(得分:0)
if ($("div").css('font-family') === 'Arial')
{
$("div").css({'font-size': '100px'});
}