CSS段組レイアウト雛型(レイアウトテンプレート)
CSS段組レイアウトテンプレートを公開します。
尚、IE系とFirefoxで見栄えを確認しています。
CSS段組レイアウトは大変で結構苦労しました。
なにかの参考になれば幸いです。
HTMLのボディ構造は以下としました。
- ヘッダー
- メニューバー
- メインコンテンツ
- サイドバー
- フッター
メインコンテンツが左、サイドバーが右に並ぶCSS段組レイアウトになっています。
(2列左コンテンツ可変横幅右サイドバー固定横幅)
CSSの記述はボディ構造の『Summary layout』部分とその他の『Detail layout』部分に分けました。
尚、メインコンテンツが右、サイドバーが左に並ぶCSS段組レイアウトにするには、以下を参照願います。
CSS段組レイアウトテンプレートソース
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta name="Description" content="ページの概要"> <meta name="Keywords" content="キーワード1,キーワード2,キーワードetc"> <title>テスト</title> <style type="text/css"> /*--- Summary layout ---*/ * { margin:0; padding:0; border-width:0; } body { text-align:center; } #main_container { width:96%; margin-left:auto; margin-right:auto; margin-top:1em; text-align:left; } #header_container { background-color:#ffffcc; } #menubar_container { background-color:#eeffff; } #contents_container { background-color:#ccccff; width:100%; clear:left; margin-right:-200px; /* margin-left:-200px; */ float:left; /* float:right; */ } #for_ie_wrapper { margin-right:200px; /* margin-left:200px; */ } #sidebar_container { background-color:#ffcccc; width:200px; float:left; } #footer_container { background-color:#ccffcc; width:100%; clear:both; } /*--- Detail layout ---*/ /*--- body ---*/ body { font-family: "MS Pゴシック", sans-serif; } #main_container { border: 1px solid #cccccc; background-color: #eeffff; } /*--- header ---*/ #header_container { padding: 1em 20px 1em; } /*--- footer ---*/ #footer_container { padding: 1em 0px 1em; text-align: center; } /*--- menubar ---*/ #menubar_container ul { width: 100%; list-style-type: none; background-color: #eeffff; } #menubar_container li { width: auto; float: left; border-right: 2px groove #cccccc; height:2.2em; } #menubar_container li a { text-decoration: underline; display: block; width: auto; padding: 0.5em 1em; background-color: #eeffff; color: #000000; } #menubar_container li a:hover { background-color: #99ccff; color: #ff0000; } /*--- sidebar ---*/ .sidetitle { padding: 0.5em 0; border-bottom: 1px solid #666666; } .sidenavi { list-style-type:none; margin-bottom:2em; } .sidenavi a { text-decoration:underline; display:block; width:170px; padding:0.5em 5px; background-color:#ffcccc; color: #000000; } .sidenavi a:hover { text-decoration:underline; background-color:#99ccff; color:#ff0000; } /*--- contents ---*/ #contents_container p { line-height:1.4em; margin-bottom:0.5em; } #contents_container ul { margin:1em 0 1em 20px; } #contents_container ol { margin:1em 0 1em 28px; } #contents_container li { margin-bottom:0.5em; } /*--- h1〜h6 ---*/ h1,h2,h3,h4,h5,h6 { margin-bottom:0.5em; padding:5px 0 5px 5px; border-top:1px solid #888888; border-bottom:1px solid #888888; } h1 { font-size:large; } h2 { font-size:medium; } h3 { font-size:small; } h4 { font-size:x-small; } h5,h6 { font-size:xx-small; } </style> </head> <body> <div id="main_container"> <div id="header_container"> <h1>見出し1</h1> <p>テキスト</p> </div> <div id="menubar_container"> <ul> <li><a href="#">リンク</a></li> <li><a href="#">リンク</a></li> <li><a href="#">リンク</a></li> <li><a href="#">リンク</a></li> <li><a href="#">リンク</a></li> </ul> </div> <div id="contents_container"> <div id="for_ie_wrapper"> <h2>見出し2</h2> <p>テキスト</p> <p><a href="#">リンク</a></p> <h3>見出し3</h3> <ul> <li>aaaaaaaaaaaaa</li> <li>bbbbbbbbbbbbb</li> </ul> <ol> <li>1111111111111</li> <li>2222222222222</li> </ol> <h2>見出し2</h2> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> </div> </div> <div id="sidebar_container"> <p class="sidetitle">サイドタイトル1</p> <ul class="sidenavi"> <li><a href="#">リンク</a></li> <li><a href="#">リンク</a></li> <li><a href="#">リンク</a></li> <li><a href="#">リンク</a></li> <li><a href="#">リンク</a></li> </ul> <p class="sidetitle">サイドタイトル2</p> <ul class="sidenavi"> <li><a href="#">リンク</a></li> <li><a href="#">リンク</a></li> <li><a href="#">リンク</a></li> <li><a href="#">リンク</a></li> <li><a href="#">リンク</a></li> </ul> </div> <div id="footer_container"> <p>Copyright © 著作権表記. All Rights Reserved.</p> </div> </div> </body> </html>
上記のサンプルページ:http://chaichan.lolipop.jp/src/sright.htm
この雛型でデザインが決まったら、style要素を外だしにして、xxstyle.cssにしたほうがいいですよ。
尚、本コンテンツのHTMLソースは、今後、ステップ毎に解説をしていきたいと思っています。
ですので、新カテゴリー『CSSレイアウト』としました。
これからの『CSSレイアウト解説シリーズ』を期待しないでお待ちください。
いや、ソースステップ毎の解説だと大変な数のネタになりますね(ネタ不足解消)。
追記:
上記のソース解説ページ
- 解説第一弾:ドキュメントタイプと表示モード
http://d.hatena.ne.jp/chaichanPaPa/20090303/1236082845 - 解説第二弾:SEOとメタ要素とタイトル要素
http://d.hatena.ne.jp/chaichanPaPa/20090304/1236169917 - 解説第三弾:HTMLマーキングで文章構造化
http://d.hatena.ne.jp/chaichanPaPa/20090306/1236343007 - 解説第四弾:段組みレイアウトの解説
http://d.hatena.ne.jp/chaichanPaPa/20090308/1236483305 - 解説第五弾:CSS詳細部の解説1
http://d.hatena.ne.jp/chaichanPaPa/20090311/1236774374 - 解説第六弾:CSS詳細部の解説2
http://d.hatena.ne.jp/chaichanPaPa/20090312/1236860887 - 解説第七弾:右サイドバーを左サイドバーへ
http://d.hatena.ne.jp/chaichanPaPa/20090313/1236949117