- ベストアンサー
【webデザイン】floatについて悩んでおります
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
floatでも普通にレイアウトできると思いますが、 右のコンテンツ部分を一つのdivで囲んで、widthをちゃんと設定していれば問題ないと思います。 floatで失敗するのはwidthを入力していないから、という理由が結構多いので。 それと、position:relative;をかけたボックスの位置をtopやleftなんかで動かすと、 ボックスの「元あった位置」が常にレイアウトのネックになるので、 位置を変更するボックスはposition:absolute;を使う事をお勧めします。
その他の回答 (1)
- ORUKA1951
- ベストアンサー率45% (5062/11036)
私は、そのようなときにfloatは使いません。 1) floatするブロックを前に書く必要があり、HTMLの文書構造が制約を受ける。 2) それにより、デザインの自由度が減る。右にあるものを左に、上に、下に・・と変更できない。 3) 本文中でfloat,clearが自由に使えない。 下記はHTML5ですが、HTML4.01,XHTML1.0/1.1のときは<div class="header">に置き換える。 480px以上のディスプレイで横スクロールなしでページ中央 header navはページトップとかheaderのどこにでも持っていける。 section navもsection内なら・・ section内でfloat,clearが自在に使えます。 ★タブは_に置換してあるので戻すこと。 <!doctype html> <html> <head> _<meta charset="utf-8"> _<title>サンプル</title> _<meta name="description" content=""> _<meta name="author" content="IRUKA"> <style media="screen"> <!-- html,body{margin:0;padding:0;} h1,h2,h3,p{margin:0;line-height:1.6em;} header,section,footer{width:90%;min-width:480px;max-width:1000px;margin:0 auto;position:relative;} section{position:relative;min-height:400px;} section h2,section section{margin:0 20%;width:auto;} section section{clear:both;min-height:100px;} nav{position:absolute;z-index:10;width:20%;} header nav{top:100%;left:0;height:400px;} section nav{top:0;right:0;height:100%;} section aside{width:200px;font-size:0.9em;float:left;border:solid 1px gray;padding:5px 10px;margin:5px;} section+section aside{float:right;} body{background-color:gray;} header{background-color:aqua;} section{background-color:lime;} section section,section h2{background-color:white;} nav{background-color:silver;} footer{background-color:fuchsia;} --> </style> </head> <body> _<header> __<h1 id="title">Your title</h1> __<nav> ___<ul> ____<li><a href="#">Some</a></li> ____<li><a href="#">navigation</a></li> ____<li><a href="#">links</a></li> ___</ul> __</nav> _</header> _<section> __<h2>A smaller heading</h2> __<section> ___<h3>章見出し</h3> ___<p>段落</p> ___<aside> ____<h3>Something aside</h3> ____<p>補足記事</p> ____<p>補足記事</p> ___</aside> ___<p>段落</p> ___<p>段落</p> ___<p>段落</p> __</section> __<section> ___<h3>章見出し</h3> ___<aside> ____<h3>Something aside</h3> ____<p>補足記事</p> ____<p>補足記事</p> ___</aside> ___<p>段落</p> ___<p>段落</p> ___<p>段落</p> ___<p>段落</p> __</section> __<nav> ___<ul> ____<li><a href="#">Some</a></li> ____<li><a href="#">navigation</a></li> ____<li><a href="#">links</a></li> ___</ul> __</nav> _</section> _<footer> __<h3>A nice footer</h3> _</footer> </body> </html>
お礼
タグやCSSまで添付していただいての回答をありがとうございました、今後是非参考にさせていただきます!
お礼
widthの入力を確かに見落としておりました、ありがとうございます! 位置変更の際には今後position:absolute;を使うようにしたいと思います。