

この記事のトピック
こんにちは。“時代の3歩先をねらうWeb屋さん”ミキ・オキタです。
このブログ「WebClip ウェブデザインのニュース」では、Webデザイン・Webマーケティングの話題をお届けしている。
今回は、Web制作者にとって悩ましいブラウザの問題のひとつ、Internet Explorer 7の「ページの拡大」機能によるレイアウト崩れの回避方法について。
僕の知る限り、この問題は長く回避方法が無いとされてきたが、最近その解決策とおぼしきものが発見された。
Internet Explorer 7から「ページの拡大」という機能が追加された。ブラウザの右下にあるボタンで、ページ全体を拡大できるという機能。以前のバージョンでは文字しか拡大されなかったので、アクセシビリティの点からもページ全体が拡大されるのは好ましいはずだった。
しかし、Web制作者にはおなじみの話だが、この「ページの拡大」機能、実際はひどいものだ。通常のコーディングでWebページを制作していても、「ページの拡大」機能を使った瞬間にレイアウトがめちゃめちゃに崩れてしまう。これではせっかく拡大しても、読めたものではない。
その上、何故こんな現象が起こるのか、多くのWeb制作者が挑んできたものの、これまで回避方法は長く見つからないままだった。
しかし、最近になって富士通がこの問題に解決策を見出したという情報が入った。富士通は日本のアクセシビリティ業界でもリーディングカンパニーだ。富士通のアクセシビリティへの姿勢は素晴らしい。Windows VISTA発売にあわせて、そのプライドをかけてこの問題に取り組んだらしい。その結果、解決方法を見出したとのことだった。
だが、その具体的な回避方法は公開されていない。
ITPro - パソコンメーカーの威信に懸けVista/IE7に対応 富士通
僕は富士通のサイトのスタイルシートを徹底検証してみた。その結果、Internet Explorer 7の「ページの拡大」機能によるレイアウト崩れの回避方法とおぼしきものを見つけることができた。
Internet Explorer 7の「ページの拡大」機能は、非常に問題がある。たとえば、普通にテキストと画像を並べただけでも、Internet Explorer 7の「ページの拡大」機能を使うと文字が重なってしまう。
普通のコーディングで、テキストと画像を並べた。
Internet Explorer 7の「ページの拡大」機能で、拡大すると文字と画像が重なってしまう。画像は125%拡大時。
ここで、親になるタグに「letter-spacing」の値を設定する。すると、Internet Explorer 7の「ページの拡大」機能でも崩れなくなる!
親になるタグのスタイルシートで「letter-spacing」の値を設定する。
Internet Explorer 7の「ページの拡大」機能でもレイアウトが崩れない!
何故、これで回避できるのか? 正直、僕もまだわからない。自分でも見つけたとき驚いた。ただ、他のいくつかのパターンでも検証しても、一律これで回避できた。
しかし、ここで実コーディングに詳しいWeb制作者の方であれば気がついただろう。この「letter-spacing」、そもそもはInternet Explorer 6や7で、バグがあり、正しく動作しないために敬遠されているスタイルシートだ。
「letter-spacing」は、文字間を設定するためのスタイルシートだ。しかし、Internet Explorer 6や7では、これに値を設定したとき、<br />タグが正しく認識されないという、これまた致命傷のようなバグがある。
たとえば、「letter-spacing」の値に「0.1em」を設定して、<br />タグを多く含んだHTMLを表示してみる。正しく表示されれば、空行が3行入るはずだ。
何も設定していない普通のテキストだと、空行が3行入る。
「letter-spacing」の値に「0.1em」を設定すると、<br />が正しく動作せず、空行が1行しか入らない。
幸い、この問題には解決法が確立されている。「letter-spacing」の値に「0」したときのみ、<br />が正しく認識される。
letter-spacingの値が0であれば、<br />が正しく動作し、空行が3行入る。
Internet Explorer 7の「ページの拡大」機能の回避としては、これが活用できる。
つまり、Internet Explorer 7の「ページの拡大」機能でレイアウト崩れを回避するためには、以下のスタイルシートを親となるタグに設定すればよい。
極端に言えば、以下の一行をスタイルシートに追加することで、Internet Explorer 7の「ページの拡大」機能でレイアウト崩れを回避することができる。(もちろん、ページ内の他の箇所でletter-spacingを使っていないことが前提)
ただし、あくまでもこの内容は、僕個人の検証できる範囲でのテスト結果にすぎない。あらゆるケースにおいて、この方法で解決できる保証は一切ない。また、そもそも何故レイアウト崩れが起こるのか、何故この方法で問題が解決できてしまうのかもわからない。なので、この内容について追加の情報がある方は、ぜひこの記事にコメントやトラックバックで情報提供をしていただきたい。また追加での検証結果があれば、ぜひご自身のブログにアップしていってほしい。その意味で、この記事はCNET Japan 読者ブログの「みんなのお題」として投稿させていただければと思う。
なお、今回の内容について、実際にコーディングしたサンプルを作成して、以下に置いておいたので、参考にしてほしい。
ie7の「ページの拡大」によるレイアウト崩れは「letter-spacing」で回避できる? - サンプル
※追記 2008年1月9日 ページ内の他の箇所でletter-spacingを使っていた場合は、bodyや必要箇所では値を設定し、brタグにletter-spacing: 0;を設定することで、Internet Explorer 7の「ページの拡大」でも崩れず、また文字間も調整することができる。具体的には次のようにする。
このbrにスタイルを設定するテクニックは、次のブログの記事を参考にさせていただいた。
TRANS [hatena] - letter-spacingをマークアップする際の注意点
※このエントリは CNET Japan ブロガーにより投稿されたものです。シーネットネットワークスジャパン および CNET Japan 編集部の見解・意向を示すものではありません。
アナリストが語る、サイトのユーザーエクスペリエンスを向上させる10個のカギ
原宿で野宿を含む15時間 - iPhone行列完全ドキュメント
「失われた10年」からの回復は、どういう課題を残したか?
Joomla CMSをカスタマイズするには・・・テンプレートが第一優先
最適なマウスの移動速度は?
パブリックコメントは国民に知られていなかった( 2 )
Google ツールバーの PageRank、数日以内に更新予定
Google Lively試してみました(クリボウの部屋へ行く)。
iPhoneの影で馬鹿売れしているみたい
動画配信の影響なのかインターネット部門が「終了」
Googleというネットの巨大なメディアに支配される脅威みんなのお題では、ブロガー同士で質問を出し合いそれに対する回答や意見を集めています。今日はどんな話題が盛り上がっているでしょう?
DELLが掲げる「新・仮想化アセスメントサービス」CNET Japan ブログネットワークは、元はCNET Japanの一読者であった読者ブロガーと、編集部の依頼により執筆されているアルファブロガーたちが、ブログを通じてオンタイムに批評や意見を発信する場である「オピニオンプレイス」、また、オピニオンを交換するブロガーたちが集うソサエティです。
広い視野と鋭い目を持ったブロガーたちが、今日のIT業界や製品に対するビジョンや見解について日々熱く語っています。
CNET Japanやその他サイトが提供するITニュースやコンテンツへの意見や分析、 ビジネスやテクノロジーに対するビジョンや見解について語っていただける方を 募集しています。ご応募はこちらから
ブログの投稿はこちらから(※ブロガー専用)
今年最も活躍したブロガーを表彰します。詳細はこちらから
これは、CNET Japan 編集部の依頼に基づいて執筆されているCNET Japan アルファブロガーによるブログの印です。
CNET Japan ブログネットワーク内で拍手の代わりに使用する機能です。ブログを読んで、感激した・役に立ったなど、うれしいと思ったときにクリックしてください。多くGood!を獲得した記事は、より多くの人に読まれるように表示されます。
[レビュー]高い信頼性を普通に使う地球に優しい電源ユニット--Antec EarthWattsシリーズ EA-650
オンリーワンの個性を極めた超薄型テレビ--日立 Wooo UTシリーズ
[レビュー]“この手があったか”と思わせるパワーユーザーも納得のPCオンデマンド--「VALUESTAR G タイプR Luiモデル」+「Lui RN」詳細レビュー
今週の新製品総チェック:ドコモ、au夏モデルが続々店頭へ、ビデオカメラは新機種ラッシュ
[レビュー]テレビを持ち歩ける最強ツール--ソニー、Blu-rayレコーダー「BDZ-A70」
[レビュー]ネットワーク対応の高機能デジタルフォトフレーム--ソニー「Canvas Online CP1」
15時間の行列で手に入れたiPhone 3Gファーストインプレッション--ソフトバンクモバイル「iPhone 3G」
北京を見逃すな!--2008年夏、今買うべき「薄型テレビ」
[レビュー]通勤鞄に忍ばせたい軽さと装着感--マクセルのノイキャンヘッドホン「HP-NC15」
IEのバグには困ったものです。
IE依存サイトばっかり再生産させてしまう。
次からはようやく標準準拠がデフォルトになるそうですが。