- ベストアンサー
CSSでfloatが効かない!「見出し3」と「今月のおすすめ」を並列に表示する方法は?
- CSSのfloat属性を使用して、「見出し3」と「今月のおすすめ」という2つの項目を並列に表示しようとしていますが、うまくいきません。HTMLで<div class="left">と<div class="right">で囲み、CSSで.left{float:left;}と.right{float:right;}と指定しているのですが、表示がずれる状態です。
- 質問のページでは、「見出し3」と「今月のおすすめ」という2つの項目を先頭行にして横一列に表示したいと考えています。そのためにHTMLで<div class="left">と<div class="right">で囲み、CSSで左側の要素にfloat:left;、右側の要素にfloat:right;と指定していますが、表示がうまくいかない状態です。
- CSSのfloat属性を使用して、「見出し3」と「今月のおすすめ」という2つの項目を並列に表示しようとしています。HTMLで<div class="left">と<div class="right">で囲み、CSSで.left{float:left;}と.right{float:right;}と指定していますが、表示がうまくいかず、ずれた状態になっています。どうすれば正しく並列表示できるでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
幅を設定しましょう。 今現在の状況は、小さな箱にそれよりも大きな物を入れようとしています。 そうすると、箱に入らないか、箱は壊れますよね・・・ 問題点: 1、トップ画像よりも大きな枠にする。または、画像を小さくする。 2、メイン=レフト+ライトの幅に収まるようにする。 1、 画像が、787pxなのだから、mainの枠は600pxでは無理があります。 なので、 width: 600px; ではなく、 width: 800px; 程度にしましょう。 2、 枠幅が狭いからライトが入れない・・・ なので、 .left { float: left; width: 400px; } .right{ float:right; width: 400px; } 左width: 400px;+右width: 400px;=合計800px ←この値より小さくする事。
その他の回答 (2)
- ORUKA1951
- ベストアンサー率45% (5062/11036)
他の方への回答と混同していました。 先に示した回答のように <div class="section"> <div class="section"> <h3>見だし</h3> ・・・・・ </div> <div class="section"> <h3>見だし</h3> ・・・・・ </div> </div> として、 div.section{position:relative;} div.section div.section{ width:50%/* 49%くらいのほうが良い */ float:left; } 33%以下にすると、三つ並びますし、最小幅を決めておくとウィンドウ幅によって横に並んだり縦に並びます。 float:leftに続いてfloat:right;は、とってもまずいです。 説明済みです。 .left と言う書き方はCSS1の時代の名残です。CSS2以降は、基点となるセレクタにつなげるセレクタを書くことになっています。 div.section ----- これは、要素セレクタdiv[class~=section"]と同じ意味 と書くのがルールです。 .sectionは、*.sectionを省略したものとみなされるだけです。もし書くなら *.sectionとかく癖をつけましょう。 断然その方がわかりやすいはずです。
お礼
ご回答、ありがとうございます。とても参考になりました。
- ORUKA1951
- ベストアンサー率45% (5062/11036)
先に回答しました。 CSSのセンタリングが、「div」で何故か出来ない - ホームページ作成ソフト - 教えて!goo ( http://okwave.jp/qa/q7786505.html#a2 ) のサンプルHTMLを試してください。 float:leftをいずれにも指定するほうが良いです。 これでうまく表示されるなら、他のところに原因があります。
お礼
ご回答、ありがとうございます。とても参考になりました。
お礼
ご回答、ありがとうございます。とても参考になりました。