Ks-Product.com

【改訂版】javascript + cssでフォントサイズ切り替え

以前「javascript + cssでフォントサイズ切り替え」という記事を書きましたが、だいぶ情報も古くなってしまったので書き直します。思いのほか「javascript フォントサイズ 切り替え」というキーワードで辿り着く人が多いって言うのもありますが。

以前の記事には javascript をあれこれ書いたりしてたので、敷居が高かったかもしれませんが、「styleswitcher.js」を使用すれば、 javascript を一切書く必要なくフォントサイズ切り替え機能を実装できます。

styleswitcher.js は A List Apart で配布されている、CSS を動的に切り替える javascript ライブラリです。
styleswitcher.js を使用してフォントサイズを切り替えるには、各種フォントサイズに対応した CSS が必要になります。(styleswitcher.js の使用方法は省略します。こちらのサイトを参考にしてください。当サイトでは CSS の記述方法のみ説明します。)


/* common.css デフォルトで読み込むCSS
   (styleswitcher.js の有無問わず常時読み込まれる CSS) */

body { font-size:small; } /* デフォルトサイズ「小」 */
      ・
      ・
      ・
/* 他の部分のスタイルなど */
      ・
      ・
      ・

/* font_small.css 代替CSSフォントサイズ「小」 */

body { font-size:small; }


/* font_medium.css 代替CSSフォントサイズ「中」 */

body { font-size:medium; }


/* font_large.css 代替CSSフォントサイズ「大」 */

body { font-size:large; }

body で指定されたフォントサイズは各要素に継承されるので、基本的にはこれだけで、ページ全体のフォントサイズが相対的に切り替わります。だたし、重要なポイントが一つあります。フォントサイズは、必ず相対サイズ指定(%、em など)にすることです。絶対サイズ指定(px 、 cm 、 mm 、 pt など)にするとその部分だけフォントサイズが切り替わりません。逆にフォントサイズを変えたくない部分は絶対サイズ指定をするというのも有効です(ただし、IE 系ブラウザのみ有効)。

また、デフォルトの CSS を各種代替 CSS で上書きする形になるため(正確には代替 CSS で記述したスタイルのみ、他の部分はデフォルトのままになる)、link 要素を記述する順序も重要です。下記のようにします。


<link rel="stylesheet" type="text/css" href="common.css" />

<link rel="alternate stylesheet" type="text/css" href="font_small.css" title="alternate1" />
<link rel="alternate stylesheet" type="text/css" href="font_medium.css" title="alternate2" />
<link rel="alternate stylesheet" type="text/css" href="font_large.css" title="alternate3" />

また、絶対サイズ指定でも styleswitcher.js によるフォントサイズ切り替えは可能ですが、各要素毎に代替スタイルを用意しなければならないので手間が増えます。

個人的にはフォント切り替え機能事態あまり必要ないと感じているんですけどね。ブラウザ側でのフォントサイズ切り替え方法を記載しておけば十分な気がします。そのほうが他のサイトでも応用が効きますしね。

コメント(0)

コメントが存在しません。

コメントを投稿する

※投稿されたコメントは管理人が承認するまで反映されません。
またHTMLタグはご利用できません。コメント上にHTMLタグを表示させたい場合は全角でご入力ください。

お名前
サイトURL
コメント
  • Home
  • > 【改訂版】javascript + cssでフォントサイズ切り替え
名前:
kakeruニコ動twitter
職業:
neet(転職活動中)
生年月日:
1983年4月19日

Flash(ActionScript)で食っていけたらなと思う今日この頃…とりあえず、年末年始にかけて転職活動できるようにごにょごにょ…

Powered by Movable Type.

ご覧の環境ではこのコンテンツはご利用できません。
最新のFlashPlayerをダウンロードしてからご利用ください。
Get Adobe Flash player