• ベストアンサー

CSS)overflow,スクロールについて

独学でホームページをツクッテいる者です。 overflow:scroll;をするとIE以外でうまく表示できません。 Firefoxなどでは、BOXの中の文字がスクロールバーごとBOXの外(右側)に大きくずれてしまいます。 IEですと、きちんとBOXの中に文字も収まり、スクロールバーも表示されます。 ためしにoverflow:scroll;をCSSから消して更新すると、文字はBOXの中に収まります。 FirefoxでもBox内がずれずにスクロールされる方法はないでしょうか?

  • CSS
  • 回答数3
  • ありがとう数1

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

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

この手の話の鉄則として、「IEなら思ったとおりになるのに」と感 じたら、規格の理解を間違っている証拠なんですよ。なにしろIEは 判りにくい勘違いしやすい部分をことごとく勘違いして作ってます からね。 スクロールバーは、パディングとボーダーの間に挿入されるべきも のです。#mainのwidthが410pxで#naiyouのwidthも410pxでは、スク ロールバーを挿入する余裕がないので、表示が崩れてあたりまえで す。IEはwidthの中にパディングやボーダーを取るという大きなバ グがあるので、スクロールバーの分の幅を取り忘れても平気だった んです。 スクロールバーを出す可能性があるボックスは、最初からその分の 余裕を見てサイズを決定して下さい。

niki122
質問者

お礼

IEとFirefoxの違いを勉強しました。 原因は違う箇所にあったのですが、パディングのバグが原因でした。 今回は勉強になりました。

その他の回答 (2)

noname#66720
noname#66720
回答No.3

ソースを見る限り問題はないようですが・・・ もしかしたら別の指定への影響が出てるのかもしれませんね。

niki122
質問者

補足

そうですか… 色々ありがとうございます。

noname#66720
noname#66720
回答No.1

とりあえずソースを見せてください。 webページの作成はIEで作ってFirefox等にあわせるよりも、ただIEのバグを回避して作るほうが楽なので、なぜFirefoxでそのような表示になるのかを考えたほうが解決が早いですよ。

niki122
質問者

補足

なるほど、勉強になります。 --------------------------------------------------- CSS// #right{ background-image:url(images/waku.png); behavior:url(iepngfix/iepngfix.htc); width:450px; height:420px; float:left; } #main{ margin:20px; width:410px; height:380px; } #theme{ width:410px; height:80px; } #naiyou{ width:410px; height:299px; border-top:1px dotted #999999; overflow:scroll; background-image:url(iepngfix/blank.gif); behavior:url(iepngfix/iepngfix.htc); } --------------------------------------------------- HTML// <div id="right"> <div id="main"> <div id="theme"></div> <div id="naiyou">長文が入る</div> </div> </div> --------------------------------------------------- このような感じになっております。

関連するQ&A

  • CSSでスクロールバー

    CSSでdivタグにwidthとheightを指定してボックスを作ります。そして、そこにoverflow:scroll;を指定して、そのボックスにスクロールバーを表示させるのですが、下のスクロールバーを表示させないようにするにはどうすればいいんでしょうか?右横の縦方向のスクロールバーは必要ですが、表示させるもののwidthが決まっている場合、下の横方向のスクロールバーが邪魔で仕方ないんですけど。 どなたか教えて下さいませんか??

    • ベストアンサー
    • HTML
  • overflow:scrollのスクロールバーのデザイン

    overflow:scrollのスクロールバーのデザイン 自分のHPで、あるリストを overflow:scroll にして、縦横指定して使っているんですが、その時のスクロールバーのデザインって変えられないのでしょうか。cssで、bodyに打ち込んでもダメ、そのリストのclassで指定してもダメでした。 どなたか分かる人があれば教えてください。

  • CSSだけで、テーブルにスクロールバーを表示させたいのですが…

    CSSを使い、テーブルにスクロールバーを表示させたいのですが <div style="height:60px; width:300px; overflow-y:scroll;"> <table border=1 width=300> : </table> </div> 上記の方法だと確かにスクロールバーは表示されるのですが、出来ればDIVを使わずに、作っておいたCSSを適用するだけで、テーブルにスクロールバーを表示させることは可能でしょうか? 出来れば、スクロールバーの色を変更して、横(X軸)のスクロールバーも消したいのですが… CSSで .scroll { overflow: scroll; visibility: visible; height: 100px; width: 140px; } とやってみたのですが、どうしてもスクロールバーが表示されません。何が足りないのか、もしくは根本から間違っているのかがわかりません。 ご存知の方教えて下さい。

    • ベストアンサー
    • HTML
  • CSSでoverflowがうまく操作できません。

    BINDを使っているのですが、新着情報の所をoverflow設定し、右側にスクロールバーを作りたいのですが、overflowでscroll設定しても、バーが出てこないか、出てきても新着情報の内容が全て表示され、隠れる部分も全て出てきます。しかも、情報を付け足してもひたすら縦に伸びてゆくだけで、意味がない状態になってしまいます。添付した写真のような感じになってしまいます。どのように設定したらよいのでしょうか。

  • Firefoxスクロールバーの有無でページがずれる

    Firefoxスクロールバーの有無でページがずれる 縦の長さが長いページから短いページに切り替えるとき、スクロールバーの関係で左右にガタガタずれて見えるためcssで html{ height:100%; margin-bottom:1px;} と入れてみました。(ネットで探したものです) そうするとOperaとgoogleとSafariではずれなくなったのですが、Firefoxだけ相変わらずずれます。 overflow-y:scrollにするとずれませんでしたが、IEで見たときスクロールバーが二重に見えたので、この方法は避けたいです。 Firefoxでもガタガタずれずに切り替えられる方法はありませんでしょうか? よろしくお願いします。

  • CSSで「overflow:scroll」をしてい

    CSSで「overflow:scroll」をしているボックス内で表示している 特定のボックスを最前面に表示させることは 可能なのでしょうか。 文字では説明しにくいので 例として ------------- <STYLE type="text/css"> .box1{ overflow: scroll; width: 200px; height: 100px; } .box2{ width: 200px; height: 40px; background-color: yellow; position: relative } .box3{ width: 200px; height: 40px; background-color: pink; position: relative; left: 100px; top: -10px } </STYLE> <div class="box1"> <div class="box2">Box No.2</div> <div class="box3">Box No.3</div> </div> ------------- だとして、 <div class="box3">Box No.3</div>を <div class="box1">よりも前面に表示させたいのですが スタイルシートで実現可能なのでしょうか。 いろいろ調べながらやってみましたが 解決できなかったので知恵をお貸し頂ければと思い 投稿させて頂きました。 よろしくお願い致します。

    • ベストアンサー
    • CSS
  • スクロールバーのデザインを変えたい

    CSSの設定で div#information { height: 150px; overflow: scroll; } という風に記述した時に現れるスクロールバーのデザインを変えたいのですが、IE以外でも対応している方法はないでしょうか? スクロールバーのデザインを変えるいい方法がありましたら教えて下さい。

    • ベストアンサー
    • HTML
  • overflowのscrollを自動で移動

    CSSでoverflow:scrollと設定したときに表示されるフレームをボタンを作ってこのボタンを押したときに○○px横に自動的にスクロールさせるようなjavascriptはどのように書けばいいのでしょうか??対応ブラウザはIEのみで大丈夫です。

  • HTML超初心者です。CSSでOverflowをautoにして ifr

    HTML超初心者です。CSSでOverflowをautoにして iframeのようにスクロール出来るようにしているのですが、スクロールバーのある右端ギリギリまで文字がいってるので、スクロールバーの左に文字との余白を作りたいです。出来なくて困っています。 余白をつくることは可能でしょうか、アドバイスをお願い致します。

    • ベストアンサー
    • HTML
  • Firefox3.5.2で常時スクロールバーを表示する方法

    今までWEBページを作成していて、 画面遷移時のスクロールバーによる画面のガタつきを防ぐために、 html { overflow-y:scroll; } としていたのですが、Firefox3.5.2ではスクロールバーが 表示されなくなってしまいました。 どなたか、Firefox3.5.2で常時スクロールバーを表示する方法を ご存知でしたら教えていただけないでしょうか?

専門家に質問してみよう