9

CSSまたはjQueryでフォントファミリに基づいて条件付きフォントサイズを記述する方法はありますか?

4

3 に答える 3

5

あまり。しかし、限られた、比較的役に立たない意味では、そうです。

CSSでは、CSS仕様で関係が定義されている場合を除いて、プロパティは互いに独立しています。

スクリプトでは、多くのことができますが、単純なjQueryの方法では、クエリを実行すると、指定されたリストcss('font-family')しか得られません。宣言すると(正式には有効ですが、この宣言は意図的に破られています)、要素に実際に使用されているフォントがない場合でも、文字列が表示されます。したがって、このアプローチは、最も一般的なユースケース(フォントのリストを使用して、さまざまなシステムをカバーし、実際に使用されるフォントに応じてフォントサイズを変更したい場合)には役に立ちません。font-family: Ariel, Helvetia, sansserifAriel, Helvetia, sansserif

JavaScriptで、フォントが実際に要素に使用されているものを見つけるには、注意が必要な方法があります。これらは通常、一部のテキストの幅を評価し、その結果を一部のフォントでそのテキストの幅と比較することに基づいています。

最後に、サポートが不十分ですが、論理的な使用方法がありfont-size-adjustます。Firefoxのみがそれをサポートしており、サポートは深刻な方法で部分的に壊れています(たとえば、Verdanaのx-heightは実際には0.545です。

于 2013-01-05T12:24:17.107 に答える
2

はい、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/

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