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

Bod*_*ody 8 html css jquery conditional font-size

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

Juk*_*ela 5

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

在CSS中,属性彼此独立,除非CSS规范定义关系.

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

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

最后,有一种逻辑的,虽然支持不当的使用方式font-size-adjust.只有Firefox支持它,并且支持部分严重破坏(它使用错误的x高度信息;例如,Verdanax高度实际上是0.545.


use*_*135 2

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

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

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

使用 css() 读取属性 font-family,检查其是否为 Arial,然后设置您想要的任何 css 属性。或者添加一个类。

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

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