iPadやiPhoneのSafariではスクロールバーが出ない。これはタッチUIの為なんだろうけど、問題が発生。
注:この記事はiPadで見ないと判り辛いかと思います。
Div要素でwidthやheightを設定して内容量がはみ出てた場合、overflow:auto;できちんと二本指でスクロール出来る。(overflow:hidden;だとスクロール出来ない)
あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお。
あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお。
あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお。
あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお。
あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお。
問題はiframeではwidthとheightを設定し、overflowをautoにしてもhiddenにしても、内容が全て表示されしまうということです。全て表示されるので、スクロールも出来ない(する必要が無い)ということです。
そこで調べたらやはり同じ悩みを抱えてる人はいるようですね。
参考サイト:iPad Safari - Overflow Problems Investigation
上記サイトでは「iframeをDivで囲む」ということをしていますので、それを参考に妥協案としてこんなことをしてみました。結局はCSS切り替え用のJavaScriptを使用します。
iPadを判定し、CSSを切り替えるJavaScriptは</gecko>:げことじ。:日常からWEBまで:(Japanese)様から。
注意点
何と言う小細工!
でも外部のCMSを入れるまでもないサイトの更新情報とか、blog入れたりすると楽なんだよね。まぁこういう方法もあるよってことで。
2010-07-27 / Written by POPGUN (Luigi Box).