- ベストアンサー
CSSで左右にお知らせとPRの見出しを配置する方法
- ホームページ制作中に、floatを使用して左右にお知らせとPRの見出しを配置しようとしていますが、段落ができてしまいます。
- CSSのコードがこちらです。タイトルにはfloat:leftを、お知らせとPRの見出しにはfloat:rightを指定しています。
- 解決策として、左側のお知らせのタイトルにfloat:leftを指定し、右側のPRの見出しにfloat:rightを指定しましょう。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちわ、No.1です。 >1.「お知らせ」と「PR」の見出しがくっついているところ これは、marginが0になってるからだと思います。 #mainbody .titleleft #mainbody .titleright の記述のどちらでもよいのですが、marginの値を変更してみてください。 下記の記述は「#mainbody .titleleft 」です。 #mainbody .titleleft { float:left; color:#fff; font-size:12px; font-weight:bold; background-color:#636; height:10px; margin:0px 20px 0px 0px auto; width:370px; padding:8px; } margin幅を右に 20px つけてます。 ただしこれだと、「お知らせ」と「PR」のタイトルは隙間が空きますが、その下からの内容はくっついてしまいます(google広告のところなど)。 なので、↓のように left なかに、タイトルを入れてはいかがでしょうか? ------------------------------------------------ <div id="mainbody"> <div class="titleall">ページタイトル</div> <div class="all"> testtesttesttestテストテストテストテスト </div> <div class="left"> <div class="titleleft">お知らせ</div> <table border=0 width=250 align=center> <tr> <th bgcolor="blue">test</th> </tr> </table> </div> <div class="right"> <div class="titleright">PR</div>. <!--Google広告--> <script type="text/javascript"><!-- google_ad_client = "pub-8546953577952947"; /* 336x280, 作成済み 08/08/30 */ google_ad_slot = "8145056513"; google_ad_width = 336; google_ad_height = 280; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> <!-- Google広告ここまで --> </script> </div> ------------------------------------------------ 今のままだと、タイトルとその内容が同じしばりになっていないので、 タイトル・内容ごとに、いちいちfloatをつけなくてはいけないのでひょっと非効率かな~と思いました。 そして#mainbody .leftを以下のように #mainbody .left { float:left; width:350px; margin:0px 20px 0px 0px; } marginをつけると、隙間が出来ると思います。 >2.「お知らせ」の表(testと書かれているところ)がPRの下に来ているところ これは、テーブルの閉じタグが抜けています。 <table border=0 width=250 align=center> <tr> <th bgcolor="blue">test</th> </tr> </table> これでよいかと思います。 あと、ご存じでしたら申し訳ないのですが、下記のURLに、HTMLが正しいかどうかチェックしてくれるものがあります(無料です)。 結構便利だと思うのでご存じでなければみてみてください。 http://openlab.ring.gr.jp/k16/htmllint/htmllinte.html わからないことがありましたら再度ご質問おねがいします。
その他の回答 (1)
- apweiser
- ベストアンサー率100% (1/1)
こんにちわ。何点か質問があります。 ><ul class="left"> >テスト(ここにお知らせの文字) ></ul> ↑ <li></li>タグがありませんが、これは何か意味があるのですか? だたこの質問だけ省略しているだけでしょうか? あとこの部分に「お知らせ」以外の文字がはいらないのであれば、 わざわざ<ul></ul>をつかう必要がないかなと思います。 >#mainbody ul.left { float:left; width:350px; } ここにもfloatが使われていますが、これは何のためのfloatなのでしょうか? あと、#mainbody のcssの記述がどうなっているかも見たいです。
補足
こんにちは!回答ありがとうございます! >><ul class="left"> >>テスト(ここにお知らせの文字) >></ul> >↑ ><li></li>タグがありませんが、これは何か意味があるのですか? >だたこの質問だけ省略しているだけでしょうか? >あとこの部分に「お知らせ」以外の文字がはいらないのであれば、 >わざわざ<ul></ul>をつかう必要がないかなと思います。 確かに、<li>を使う場面がありませんね・・・。 <ul>、消させていただきました。ありがとうございます。 >>#mainbody ul.left { float:left; width:350px; } >ここにもfloatが使われていますが、これは何のためのfloatなのでし ょうか? これは、↑で<ul>を消したので #mainbody .left { float:left; width:350px; } になりますね。 えーと、上のfloatは、 見出し「PR」の下の広告や、「お知らせ」の下の表などを左または右に寄せるためにあります。 >あと、#mainbody のcssの記述がどうなっているかも見たいです。 #mainbodyは、以下のとおりです。 (下の記述は、 http://www5.atpages.jp/ri19960914/test.png のものです) <div id="mainbody"> <div class="titleall">ページタイトル</div> <div class="all"> testtesttesttestテストテストテストテスト </div> <div class="titleleft">お知らせ</div> <div class="left"> <table border=0 width=250 align=center> <tr> <th bgcolor="blue">test</th> </tr> </div> <div class="titleright">PR</div>. <!--Google広告--> <div class="right"> <script type="text/javascript"><!-- google_ad_client = "pub-8546953577952947"; /* 336x280, 作成済み 08/08/30 */ google_ad_slot = "8145056513"; google_ad_width = 336; google_ad_height = 280; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> <!-- Google広告ここまで --> </script> </div> あと、見出しの<ul>をすべて抜いたところ、 (↓のアドレスもURLボックスに直接入力してくださるようお願いします。) http://www5.atpages.jp/ri19960914/test.png ↑のようになりました。 ちょっと変なところもあるので、そこの部分を教えていただければ幸いです。 1.「お知らせ」と「PR」の見出しがくっついているところ 2.「お知らせ」の表(testと書かれているところ)がPRの下に来ているところ よろしくお願いします。
お礼
ありがとうございます! 私の理想の通りにバッチリ行きました! ありがとうございました!