• ベストアンサー

IEで、文章がwidthをはみでる

ブログで日記を書いています。 左ブロックにメニューがあり、右ブロックが日記です。 各ブロックにwidthで幅を指定しています。 右ブロックの日記文章の1文章が、横に長いとブロックの幅が指定した幅を越えてしまい、左ブロックのメニューが下に移動してしまいます。 どのように対処すれば良いですか? max-widthで、対処できませんでした。IE8には効かない・・・?

noname#191253
noname#191253
  • CSS
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • weakweak
  • ベストアンサー率34% (350/1003)
回答No.1

とりあえずなんでwidth設定してるのに幅が可変するのかわかりませんが、 cssで word-wrap:break-word は試されましたか? ちなみに下はfloatして段崩れを起こしたサイトをケーススタディで解説しているページです。 http://desperadoes.biz/style/dan/index.php それとどういう風に書いているのでしょう。下記のような感じで示していただければわかりやすいです。 ---HTML--- <div id="container"> <div id="header">ヘッダー部</div> <div id="wrapper"> <div id="nav">メニュー部</div> <div id="article">日記部</div> </div> <div id="footer">フッター部</div> </div> -----END_HTML----- ---CSS--- #container { width : px; } #header { width : px; } #wrapper{ width : px; overflow : hidden; /* floatした子要素の高さを認識させるためのタグです */ } #nav { width : px; float : left; } #article{ width : px; float : left; } #footer{ width : px; clear : both; } ----END_CSS------

noname#191253
質問者

お礼

早速のご回答ありがとうございます。 >word-wrap:break-word 問題が解決しました!ありがとうございます。 涙が出ます。

その他の回答 (1)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

常識的にはありえないのですが・・ >右ブロックの日記文章の1文章が、横に長いとブロックの幅が指定した幅を越えてしまい、左ブロックのメニューが下に移動してしまいます。  これは、そのブロックがfloat処理されていることを示していて、かつ巾がauto(初期値)のままであることを示しています。 >各ブロックにwidthで幅を指定しています。  親のコンテナブロックに巾を指定していても、widthプロパティは継承しませんから、float指定された時点で親ブロックのwidthは消えてしまいます。このブロックにwidth:100%などを指定してください。  本来は、コマ割(枠組み)にはfloatを使わないほうが良いのですが・・

noname#191253
質問者

お礼

ご回答ありがとうございます。 勉強になります。

関連するQ&A

  • HTMLのwidthについて

    パソコンの画面幅より大きいwidthを指定した場合でも ブラウザ下の横スクロールバーを表示して、スクロールできるようにしたいのですが できるのでしょうか?

    • ベストアンサー
    • HTML
  • CSSによってIEでNNにあるmax-widthと同等の機能は?

    お世話になります。 NNですとmax-widthのCSSが使えると思うのですが IEでは適用されていません。 そこでmax-widthを同等の機能を満たすようにするにはどうすればよいのでしょうか? divタグを使用しておりまして、max-widthで指定した幅を超えないようにしたいと思っております。 申し訳ありませんが、ご教授よろしくお願いいたします。

  • CSSによってIEでNNにあるmax-widthと同等の機能をさせるには?

     HTMLの<table>タグを使わずに、CSSのpositionやfloatを使って横2段、3段組のレイアウトをしたいと考えています。  さて、この場合それぞれの段に設定した横幅よりも大きな幅を持つ画像を挿入した場合、NNではmax-widthにより画像の最大幅をコントロール出来ますが、IEではこの属性設定が出来ません。このため画像を挿入した段の横幅が画像の幅まで伸びてしまうことがあります。そこで、NNのmax-widthに相当する機能をCSSによりIE上で実現する方法をお教えください。

    • ベストアンサー
    • HTML
  • width100%とfloat

    左右分割サイトで ・左側メニューは160px(#menu) ・右は残りすべて(#main) というものを作りたいのです。 #menu {width:160x;float:left;} にすると、#menuは左寄せになりますが #mainは右側に寄ってくれません(width属性を指定していないから)。 tableレイアウトを使用せずにこのようなことができますか? 条件は ・HTML 4.01 Strict ・tabelを使用しないレイアウト ・フレーム使用なし です。 お願いします!

    • ベストアンサー
    • HTML
  • widthを設定してもテキストを流すと幅が広がってしまう

    トップページの左ナビの部分です。 1行2列の大テーブルの、左のtdが左ナビになっています。 ↓こんな感じです。 <table width="800"> <tr><td>左ナビ</td></tr> <tr><td>内容</td></tr> </table> この左ナビ部分を更に<div>で区切って、 その<div>の中に改行なしのテキストを流し込むと大テーブルの幅800まで広がってしまいます。 幅170pxの指定方法は、<div class="navi">というふうにwidth指定を含むcssをつけています。 cssではダメなのかと、<div>なしで tdのwidth指定だけにしてみてもダメでした。 方法を教えてください。

  • テーブルレイアウト

    テーブルレイアウトで困っています。 <table width="100%" height="100%" border="1"> <tr> <td colspan="2" valign="top" height="100">全体の幅は100%</td> </tr> <tr> <td width="150" valign="top">左のセル<br>幅150</td> <td valign="top">右のセル<br>幅指定なし</td> </tr> </table> これだと問題なく表示されるのですが、 <table width="100%" height="100%" border="1"> <tr> <td colspan="2" valign="top" height="100">全体の幅は100% 少し長い文章を入れる</td> </tr> <tr> <td width="150" valign="top">左のセル<br>幅150</td> <td valign="top">右のセル<br>幅指定なし</td> </tr> </table> このように1列目のセルに長い文章を入れると、2列目の左のセルの幅が勝手に広がってしまいます。 何が原因で、対処法はないでしょうか? Netscape7.1ではこうならないんですが、IE6では勝手に崩れてしまいます。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • ブラウザによる「width」の違い

    <html> <body style="background-color:#FFFFFF;color:#000000;font-weight:nomal;margin:0%;"> <div style="border:solid 2px #000000;margin:10% 0% 10%;"> <div style="margin:5% 10% 8%;"> <table border="1" style="width:100%;"> <tr><td bgcolor="#3399FF">A1セル</td></tr> </table> </div> </body> </html> 上のソースは抜粋です。 上のソースをIEで開くと、一画面から横にあふれてスクロールする様な表示になってしまいます。 しかし、全く同じソースをOperaで開くと、 (Operaが入っていないと思うので)<table>のwidthを100%から700pxくらい(人によって解像度で変わってきますが)にしてIEで表示したときのように、画面からあふれることはく、ちょうど真ん中にきれいに表が収まります。 ブラウザによって、widthの基準となる幅がブロックだったりウィンドウサイズだったりしているんだと思うのですが、どうすれば両方のブラウザで同じ表示をさせることができるのでしょうか… 絶対数値で固定してしまえば早いのですが、できれば相対数値で幅を整えたいので…

    • ベストアンサー
    • HTML
  • スタイルシートのwidthについて

    <style type="text/css"> #hoge{border:solid 1px black;width:100px;margin:0;} </style> <div id="hoge> </div> このようにdivタグにスタイルシートをつけるとなぜか縦の幅ができてしまいます。 width:100をなくせばただの線になるのですがwidthをつけるとどうして 縦幅ができてしまうのでしょうか? hightをつけてるのはまだしもwidthをつけただけじゃ横の長さが決まるだけで縦は0だと思ったのですが違うのでしょうか? ブラウザはIE6で見ました。

    • ベストアンサー
    • HTML
  • 文章の中に何枚も画像が貼り付けられるサイトをご存じないですか?

    料理のレシピを日記形式で書いていこうと思っています。 作っている過程を、文章の合間に何枚か貼り付け、その横に作り方を書いていきたいのです。 色々調べましたが、殆どのものが、一枚だけ指定したものが表示される形式でした。 文章を打ちながら、編集途中でアップしていけるやり方がいいのです。 ひとつ、クルルというブログを登録しており、それはできますが、そこにはもう別の日記を登録してしまっているので、使えません。 そのほかでどこかご存知ないでしょうか? 無料の登録が可能なところがいいと思っています。 ブログでも、日記(同じですね)でも、掲示板でもかまいません。 よろしくお願いいたします。

  • 勝手にスタイルが追加される

    2カラムで右に320px左にcalc(100% - 320px)で幅を設定したページを作ったのですが、ブラウザの幅を縮めると勝手に右カラムがdisplay:none;になり、そこからブラウザの幅を広げると右カラムにはdisplay:block;左カラムにはwidth:100%;という、element.styleが勝手に指定されてしまいます。 情報が少なく申し訳ございませんが、どなたか利用がわかる方はいらっしゃいませんでしょうか。

    • 締切済み
    • CSS