9

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

4

3 回答 3

5

并不真地。但在某种有限且相对无用的意义上,是的。

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

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

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

最后,还有一种合乎逻辑但支持不佳的使用font-size-adjust. 只有 Firefox 支持它,并且部分支持被严重破坏(它使用了错误的 x 高度信息;例如,Verdana 的 x 高度实际上是 0.545。

于 2013-01-05T12:24:17.107 回答
2

Yes you can easyly with jquery:

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

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

Using css() you read the property font-family, check if its Arial for example, then set whatever css property you want. Or add a class.

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

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

于 2013-01-05T11:54:03.523 回答
1
if ($("div").css('font-family') === 'Arial')
{
  $("div").css({'font-size': '100px'});
}
于 2013-01-05T11:59:19.220 回答