CSSには、@font-face
カスタムフォントを「使用」できるルールがあります。
JavaScriptにはこの機能がありますか?
具体的には、CSS@font-face
ルールを使用せずにカスタムフォントを「使用」することは可能ですか?
CSSには、@font-face
カスタムフォントを「使用」できるルールがあります。
JavaScriptにはこの機能がありますか?
具体的には、CSS@font-face
ルールを使用せずにカスタムフォントを「使用」することは可能ですか?
CSSを知っている場合はdocument.write
、スタイルシートを動的に追加するために使用できます...それはCSSを使用していると見なされると思いますが、機能します
@font-face
ルールを使用する以外に、ブラウザにネットワークからフォントをロードさせる方法はありません。理論的には、 CSSオブジェクトモデルを使用した場合は、(またはなど)@font-face
を使用せずにJavaScriptからそのルールを作成できます。しかし、現時点では、どのブラウザにも実装されるとは思っていません。document.write
document.createElement("style")
いいえ、ありません。JavascriptはDOMを操作できますが、フォーマットについては気にしません。
はい、できます:
document.body.style.fontFamily = '...';
ここにフィドルがあります:http://jsfiddle.net/maniator/QMZ8N/
これは、事前定義されたフォントを要素に追加するだけです。
これは、ページにフォントスタイルを追加しません。そのためにはCSSを使用する必要があるかもしれません
javascriptでフォントを読み込んで使用できる実験技術「CSSFontLoadingAPI」があります。現在、ChromeとFirefoxで作業しています。
fetch('/static/media/ProximaNova-Regular.otf')
.then(resp => resp.arrayBuffer())
.then(font => {
const fontFace = new FontFace('Proxima-Nova', font);
document.fonts.add(fontFace);
document.body.style.fontFamily = '"Proxima-Nova", Arial';
})