• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ブラウザの表示サイズに合わせてフォントサイズを自動)

ブラウザの表示サイズに合わせてフォントサイズを自動で変更する方法

このQ&Aのポイント
  • ブラウザの表示サイズに合わせてフォントサイズを自動で変更する方法について質問です。
  • 特定の要素のフォントサイズをブラウザのサイズに合わせて自動的に変更する方法を教えてください。
  • 具体的なコード例として、JavaScriptとCSSを使用してフォントサイズを自動で変更する方法を説明してください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

#1です。 「分かっていてあえてやる」ということで理解しました。 まあ、 >画像で表示していた表題 「表題」ってことはロゴか見出しなんだからやっぱり大きさ変わっちゃダメだろ、と思いますが、わざとやっているということでこれ以上のケチ付けはやめておきます。 さて。 いまさらですが、フォントサイズはちゃんと自動で変化していますね。 じゃあ何がダメかというと var wpx = $("div#content").width(); var wpx = $("div#content1").width(); var wpx = $("div#content2").width(); var fpar = (Math.floor((wpx)/(400/100)));// 横幅px ÷ (最少幅px/100) $("div#content").css("font-size",fpar+"%"); $("div#content1").css("font-size",fpar+"%"); $("div#content2").css("font-size",fpar+"%"); これですね。 お気づきじゃないようですが、変数wpxで各ブロックの幅を取得していますが、それを連続して書いているために、結局wpxにはdiv#content2の幅が入っています。だから予定通りの文字サイズにならないんですね。 ということで、 var wpx = $("div#content").width(); var fpar = (Math.floor((wpx)/(400/100))); $("div#content").css("font-size",fpar+"%"); var wpx = $("div#content1").width(); var fpar = (Math.floor((wpx)/(400/100))); $("div#content1").css("font-size",fpar+"%"); var wpx = $("div#content2").width(); var fpar = (Math.floor((wpx)/(400/100))); $("div#content2").css("font-size",fpar+"%"); とちゃんと毎回取得直後に計算するか、 function resize(block){  wpx = block.width();  fpar = (Math.floor((wpx)/(400/100)));  block.css("font-size",fpar+"%"); } のように関数を用意して、 resize($("div#content")); resize($("div#content1")); resize($("div#content2")); のように呼ぶという方法があります。

kichi4182
質問者

お礼

ありがとうございました。出来ました。

その他の回答 (1)

回答No.1

質問に答える前に逆に訊ねなければいけない点があります。 ・「ブラウザのサイズに合わせてフォントのサイズを自動で変更」は、文字サイズの完全固定と同じくらい非常に迷惑なのは分からないんですか?(もしくはあえてやるんですか?) たとえばウィンドウサイズをモニタの縦横半分にしたい人は、望みもしないのに勝手に文字が小さくなって困るんですよ。 「望みもしないのに」というのが重要です。「アクセシビリティ」というのがあるんです。閲覧者に対し明確に不親切である表示や挙動はするべきではないんです。 恐らく3カラムのブログだと思いますが、そういうのは各ブロック自体の表示のされ方で調整しないといけません(例:ある程度の幅までは本文のブロックの幅が小さくなり、それ以下は全体が画面外へははみ出る)。

kichi4182
質問者

補足

ご意見ありがとうございます。 アクセシビリティについては、私自身が重度の身体障がい者であるため、人一倍気を使っているつもりです。 今回の件は、サイトのトップページに画像で表示していた表題をテキストにしたいと考え、可能な限り見た目を変えないように(画像との違い。サイズによる変化)したいと思って、質問させて頂きました。 勿論、フォントサイズの自動変更はここだけにするつもりです。

関連するQ&A

専門家に質問してみよう