• ベストアンサー

ブラウザで確認するとレイアウトが崩れてしまいます。

imac G5でdreamweaver8を使ってpageを作成中なのですが dreamweacer8で制作中のウィンドウでは問題なくレイアウトできているのですが、いざブラウザで確認すると段組みが崩れてしまいます。 最近CSSに興味を持ち出し、少しずつ前進してた矢先、すっかり足踏み状態です。どなたかご享受いただけたら幸いです。よろしくお願いします。

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

  • ベストアンサー
  • golive001
  • ベストアンサー率54% (20/37)
回答No.4

まず、CSSの並び方が良くないと思いました。これは動作には影響しませんが、コードの可視性を保つために必要な処置だと思いますので合わせて修正、添削を行ってみました。また、レイアウトに不必要な記述も削除しました。 <style type="text/css"> <!-- body { background-color: #000000; width: 800px;/*これは意味がないので削除*/ } p { width:577px;/*p要素に横幅指定は入らない*/ } h1 { color: #FFFFFF; background-color: #FF0000; width: 35px; padding: 5px; height: 10px; } h2 { } /*---------------------------------#contentsブロック------------*/ #contents { background-color: #000000; width: 400px;/*幅が小さすぎる 子要素(#left #right)によるが試しに800pxに指定*/ margin-right: 100px;/*デザインによるが、あまり意味がない*/ margin-left: 100px;/*デザインによるが、あまり意味がない*/ } /*---------------------------------leftブロック--------------------*/ #left { float:left; background-color: #0099FF; width: 400px;/*#contens(親要素)に対して大きすぎる*/ } #car1 { background-color: #666666; padding: 5px; height: 210px; width: 190px; float: left; } #car2 { background-color: #666666; padding: 5px; height: 210px; width: 190px; float: right; } /*------------------------rightブロック------------------------*/ #right { float:right; background-color: #0099FF; width: 200px;/*#contens(親要素)に対して大きすぎる*/ } #car3 { background-color: #666666; padding: 5px; height: 210px; width: 190px; float: right; } --> </style> </head> <body> <div id="contents"> <p>MAKER</p>/*原則として、ラップ(#contentsの内部にはdiv以外の要素を入れないようにする) <div id="left"> <div id="car1"> <h1>DATA</h1> <h2>text</h2> </div> <div id="car2"> <h1>DATA</h1> <h2>text</h2> </div> </div> <div id="right"> <div id="car3"> <h1>DATA</h1> <h2>text</h2> </div> </div> </div> </body> 色々問題ありだと思いますが、 なにが一番の間違いか?は、ずばり横幅の指定部分です。 現状は #contents(400px)の内部に #left(400px)+#right(200px)+{その他ブロック要素のpaddingとmarginの合計値}が入っています。 これでは横並びに指定できませんね? まずは、#contentsのwidthを上げてみてください。

その他の回答 (4)

  • leap_day
  • ベストアンサー率60% (338/561)
回答No.5

こんにちは <p></p>を<div id="p"></div>にかえて p { } を #p { }に p { } のheight:15px; を削除 #contents { } の width:400px; を width:600px; に変えてください それでとりあえずはすっきりする・・・と思ったらブラウザのpxの大きさが違うのかIEが変でした(><) ので下記のようにしてみて下さい(IEではMAKERの横に少し黒線が出てしまってますけど・・・IE,Opera,Firefoxでほぼ同じ表示になってます) <style type="text/css"> <!-- body { background-color: #000000; } #contents { background-color: #000000; width: 600px; margin-left: 100px; color: #000000; } #left { background-color: #0099FF; width: 67%; float:left; } #right { background-color: #0099FF; width: 33%; float:right; } #p { background-color: #0099CC; width:100%; padding-bottom: 3px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #FFFFFF; font-family: Arial, Helvetica, sans-serif; font-weight: bold; font-size: 14px; color: #FFFFFF; } #white { background-color: #FFFFFF; width:2%; float:left; } #car1 { background-color: #666666; height: 210px; width: 50%; float: left; } #car2 { background-color: #666666; height: 210px; width: 50%; float: right; } #car3 { background-color: #666666; height: 210px; width: 100%; float: right; } h1 { background-color: #FF0000; padding: 5px; width: 35px; height: 10px; font-family: Arial, Helvetica, sans-serif; font-weight: bolder; font-size: 12px; color: #FFFFFF; } h2 { font-family: Arial, Helvetica, sans-serif; font-weight: normal; font-size: 12px; color: #FFFFFF; } --> </style> </head> <body> <div id="contents"> <div id="white">&nbsp;</div> <div id="p">MAKER</div> <div id="left"> <div id="car1"> <h1>DATA</h1> <h2>text</h2> </div> <div id="car2"> <h1>DATA</h1> <h2>text</h2> </div> </div> <div id="right"> <div id="car3"> <h1>DATA</h1> <h2>text</h2> </div> </div> </div>

  • edge8040
  • ベストアンサー率46% (7/15)
回答No.3

回り込み解除の問題とか? http://redstar.skr.jp/mt/archives/2005/03/maciefloat.html 先に書かれている方々がおっしゃる様に、ソース見ないとわかりませんが・・・

lan_
質問者

補足

すみません。ソースを記載したのでよろしくお願いします。 <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> <title>usedcar</title> <style type="text/css"> <!-- p { width:577px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #FFFFFF; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #FFFFFF; font-weight: bold; padding-bottom: 3px; border-left-width: 20px; border-left-style: solid; border-left-color: #FFFFFF; padding-left: 3px; height: 15px; background-color: #0099CC; } h1 { font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bolder; color: #FFFFFF; background-color: #FF0000; width: 35px; padding: 5px; height: 10px;} h2 { font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: normal; color: #FFFFFF;} #car1 { background-color: #666666; padding: 5px; height: 210px; width: 190px; float: left;} #car2 { background-color: #666666; padding: 5px; height: 210px; width: 190px; float: right;} #car3 { background-color: #666666; padding: 5px; height: 210px; width: 190px; float: right; } #contents { background-color: #000000; width: 400px; margin-right: 100px; margin-left: 100px; color: #000000; } #left { float:left; background-color: #0099FF; width: 400px;} body { background-color: #000000; width: 800px; } #right { float:right; background-color: #0099FF; width: 200px;} --> </style> </head> <body> <div id="contents"> <p>MAKER</p> <div id="left"> <div id="car1"> <h1>DATA</h1> <h2>text</h2> </div> <div id="car2"> <h1>DATA</h1> <h2>text</h2> </div> </div> <div id="right"> <div id="car3"> <h1>DATA</h1> <h2>text</h2> </div> </div> </div> </body> </html>

  • golive001
  • ベストアンサー率54% (20/37)
回答No.2

#1さんもおっしゃってますが、ソースをください。 また、オーサリングソフトに依存するのは危険です。肝心の知識が身につきませんからね。

  • MAN_MA_RUI
  • ベストアンサー率41% (426/1024)
回答No.1

ページソースがなければどうしようもない^^; 超能力なんて使えないんです。具体的なことを書いてもらえないと対処できません。

関連するQ&A