(01) 641px以上の場合に2段組みになるようなCSSファイル「lay04.css」を作成します(基準を「lay02.css」としている)。なお、全体の幅の最大値は1200pxとしますが、それ以下の場合は95%にします。内部においてはサイドメニューを「160px」とし、それ以外のエリアをコンテンツとする予定です(<div class=”seccontent”>の幅は今のところいくつでもよいが、とりあえず「75%」とした)。
div.secall{
width:95%;
max-width:1200px;
margin:auto;
border:1px solid #FF33CC;
}
div.seccontent{
width:75%;
float:right;
}
div.secsubmenu01{
width:160px;
float:left;
}
div.secsubmenu02{
float:left;
width:160px;
}
(02) 641px以上の場合に「lay04.css」が適用されるよう、「index.htm」を修正します。
<link rel="stylesheet" type="text/css" media='screen and (min-width: 891px)' href="lay04.css" /> <link rel="stylesheet" type="text/css" media='screen and (min-width: 641px) and (max-width: 890px)' href="lay04.css" /> <link rel="stylesheet" type="text/css" media='screen and (max-width: 640px)' href="lay03.css" />
(03) ウィンドウの幅によってはこれでよさそうですが…

(04) ウィンドウ幅を狭くすると、左のサイドメニューエリアに「公園メニュー」「お知らせ」のボックスが入りきらなくらなくなります。

(05) そこでまず<div class=”seccontent”>の幅を「100%」にします。この状態では下のボックスは横に回り込まなくなります。それからさらに左余白を「-170px」とします。すると左に回り込み用の空間が170px分作成されます。
ただし<div class=”seccontent”>と重なってしまいます。
div.seccontent{
width:100%;
float:right;
margin-left:-170px;
}

(06) 続けて<div class=”seccontent”>の内部左側に何も表示させない空間を作成します。そのため一旦、この内部を<div>で囲みます。なお、あとでそこに対して左余白を設定します。
~略~ <div class="main"> <div class="wrap01"> <div class="seccontent" id="topcont"> <div class="wrap02"> ~略~ </div> <!--wrap02の閉じタグ--> </div> <!--seccontentの閉じタグ--> <div class="secsubmenu01"> ~略~
(07) <div class=”seccontent”>の内部に作成した<div class=”wrap02>に左余白170pxを設定しましょう。これでサイドメニューは固定幅「160px」になり、メインコンテンツは「(secallの幅)-170px」の幅となっています。
div.wrap02{
margin-left:170px;
}

(08) ウィンドウ幅を広げてみましょう。サイドメニューの幅は固定ですが、メインコンテンツの幅はウィンドウ幅に依存するようになります。
