- 締切済み
スクロールバー
現在HPを製作しています。 その過程で出た問題なのですが何かヒントになるような情報があれば教えていただければと思い、質問します。 HPの型としては、フレームを使って上下に分割されたものです。 起こった問題の現象としては ・下フレームで縦にスクロールバーが発生した時に、(おそらくスクロールバーの幅分)横スクロールバーが出現してしまいます。 ・こうして発生した横スクロールバーはブラウザの横幅を広げても消えません。 ・縦スクロールバーが消えると同時に消えます。 どうにかして縦のスクロールバーが出ても横は出ないようにしたいのですが、現在ヒントとなるものがなく闇雲に原因を探している状態です。 もしこのような現象に対してヒントのようなものをお持ちの方がいましたら。 知恵を貸していただきたいと思います。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
InternetExplorerじゃない標準準拠のブラウザを使ってて、htmlの 幅を100%と宣言して、幅100%のフレームを作っていませんか。 Firefoxなど標準準拠のブラウザでは、スクロールバーはパディング とボーダーの間に挿入され要素の幅に含まれませんから、幅100%の htmlの中に幅100%のフレーム+スクロールバーを入れようとすれば、 はみ出すのが当然です。IEは幅の考え方を勘違いしているので、同 じ状況で横スクロールは出ないはず。また、overflow-xはCSS2.1に 存在しないIE独自の方言ですから、overflow-xが意味を持つのはIE だけです。 フレームの幅は成り行きで、フレームの内容も少し余裕を持って配 置するしかないですね。でなければ、フレームをヤメるか。
- salonpath
- ベストアンサー率48% (194/399)
あら、ダメでしたか?すみません>< こっちも試していただけますか? smartyを使用してのtplファイルでも、下フレームに読み込まれるページに指定できてれば問題ないはずです html{ overflow-y:auto; }
お礼
たびたびありがとうございます。 回答いただいたものを微妙に合わせまして。 html{ overflow-x: hidden; } とすることで横スクロールバーの出現を抑えることができました。 overflow-y:auto; も試してみましたがうまく反映してくれませんでしたが^^; お付き合いいただきありがとうございました。
- salonpath
- ベストアンサー率48% (194/399)
cssで出来ます 下フレームに読み込まれるhtmlのbodyにoverflowを指定してください body{ overflow-x: hidden; }
お礼
早速の回答ありがとうございます。 body{ overflow-x: hidden; } を試して見ましたが反映されませんでした。 またそれを元に .overflow{ overflow-x: hidden; } <略> <body> <div class="overflow"> <略> </div> </body> とも試して見ましたがうまく反映してくれませんでした。 また先ほど書き忘れたのですが smartyを使用してのtplファイルです。 もし他にありましたらお願いします。
お礼
自分なりに検索しましたがIE6で発生するバグのようでした。 作成環境をもっと細かく提示するべきでしたね。 回答ありがとうございました。