• ベストアンサー

CSSで質問です。

ブログのスタイルシートを見たりしてそれなりにCSSの書き方は理解できてきました。 うまく表現できないのですが ┌────A────┐ │┌B┐┌C┐┌D┐│ │└─┘└─┘└─┘│ │┌───E───┐│ │└───────┘│ │┌F┐┌G┐┌H┐│ │└─┘└─┘└─┘│ └─────────┘ テーブルを使わないで上の図のようなレイアウトを実現したいのです。 Aで幅を800pxにして B,C,Dをそれぞれ200,400,200に指定しました。 でEを800にしたいのですが,うまくBCDのしたに来てくれません。 どのようにすればよいのでしょうか? やり方,または参考になるサイト等を教えてください。

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

  • ベストアンサー
  • gura_
  • ベストアンサー率44% (749/1683)
回答No.3

 例えばこんな感じでしょうか <html> <head> <META http-equiv=Content-Type content="text/html; charset=shift_jis"> <style type="text/css"> <!-- .bbb { position:absolute;left:10px;top:50px; border: 2px solid green; width:200px; height:100px; } .ccc { position:absolute;left:220px;top:50px; border: 2px solid red; width:400px; height:100px; } .ddd { position:absolute;left:630px;top:50px; border: 2px solid green; width:200px; height:100px; } --> </style> </head> <body> <div style="position:absolute;border: 2px solid blue; width:840px; height:500px;">AAA <div class="bbb">BBB</div> <div class="ccc">CCC</div> <div class="ddd">DDD</div> <div style="position:absolute;left:10px;top:200px; border: 2px solid purple; width:820px; height:100px;">EEE</div> <div style="position:absolute;left:10px;top:350px; border: 2px solid green; width:200px; height:100px;">FFF</div> <div style="position:absolute;left:220px;top:350px; border: 2px solid red; width:400px; height:100px;">GGG</div> <div style="position:absolute;left:630px;top:350px; border: 2px solid green; width:200px; height:100px;">HHH</div> </div> </body> </html> 後は、ご自身でご研究ください↓ http://www.tohoho-web.com/css/basic.htm

kumaya77
質問者

お礼

ありがとうございました。私が求めているものにかなり近いです。これを参考にしてさらに研究してみます。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • acacia7
  • ベストアンサー率26% (381/1447)
回答No.2

BCDFGHの様に前後で改行したくない場合は素直に<span>タグを使う。 <div>はブロック要素 <span>はインライン要素。 基本的にブロック要素は前後に改行が入る。

kumaya77
質問者

補足

すみません。ブロック要素とインライン要素の違いを教えていただければ更にありがたいのですが。何とかお願いします。

すると、全ての回答が全文表示されます。
  • akamanbo
  • ベストアンサー率17% (462/2680)
回答No.1

理解できてきたというのであれば、せめて今どんなタグでどんなスタイルをあてているのかくらいは説明できるかと思いますが、いかがでしょうか。

kumaya77
質問者

補足

失礼しました。 すべて<div>にスタイルを設定します。 A は ページ全体の幅を定めたいためwidthを800pxにしています。あと指定しているのは背景色だけです。それを idで指定しています。 BCDはclassで設定したいのです。 BDはwidthを200pxにしてCは400pxにしています。 それぞれにfloatをleftにしています。実はこのフロートがよくわからないのです。 そしてEはwidthを800にしています。 文章力がなくてうまく伝わっているかどうか不安です。 よろしくお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A