ホームページ > ウェブフロントエンド > CSSチュートリアル > CSS 定義がない場合、JavaScript でレンダリングされたフォント情報にアクセスするにはどうすればよいですか?

CSS 定義がない場合、JavaScript でレンダリングされたフォント情報にアクセスするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-27 10:08:10
オリジナル
903 人が閲覧しました

How Can I Access Rendered Font Information in JavaScript When CSS Definitions Are Absent?

CSS 定義がない場合のレンダリングされたフォントへのアクセス

HTML 要素のプロパティを検査すると、重要な情報が明らかになる場合があります。 JavaScript の object.style 属性を使用する場合、font-face や font-size などが欠落しています。これは、要素のスタイルが Web ページの CSS から継承されており、これらのプロパティが明示的に定義されるまで、object.style 属性は空のままであるためです。

ただし、実際にレンダリングされたフォント情報を取得することは依然として可能です。 getComputedStyle メソッド。これを実現する JavaScript 関数を次に示します。

function css(element, property) {
    return window.getComputedStyle(element, null).getPropertyValue(property);
}
ログイン後にコピー

この関数を利用するには、検査したい要素と取得したいプロパティ ('font-size' など) を渡すだけです。例:

css(object, 'font-size'); // Returns '16px' or similar
ログイン後にコピー

このメソッドは Internet Explorer 8 ではサポートされていないことに注意してください。

ライブ デモ:

ここをクリックしてくださいJSFiddle でライブ デモンストレーションを表示するには: http://jsfiddle.net/4mxzE/

コード スニペット:

// Retrieve the computed style information
console.log(
  getComputedStyle(document.getElementById('test'), null)
    .getPropertyValue('font')
);

// Define a custom CSS style for the element
document.getElementById('test').style.cssText = 'font-family: fantasy, cursive;';

// Append an HTML element to the document
document.body.appendChild(document.getElementById('test'));
ログイン後にコピー
#test {
  /* Custom font-face applied */
}
ログイン後にコピー
<!-- Element with rendered font -->
<div>
ログイン後にコピー

以上がCSS 定義がない場合、JavaScript でレンダリングされたフォント情報にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート