前回作ったテンプレートは、IE以外では「リンクがクリックできない」という問題点を含んだものでした。
実際にソースをコピペして、コンテンツ内容にリンクを含ませると確認できます。
理由としては、
カラム間は一見重なりがないように見えて、実は余白を作って見せかけだけ調整しているためで、
透明な重なり部分がリンクを奥に隠してしまい、クリックが届かない、
というイメージだと思います。
そこで、z-index を使って、
.leftcontents_2columns_leftfix a,
.rightcontents_2columns_leftfix a,
.leftcontents_2columns_rightfix a,
.rightcontents_2columns_rightfix a,
.leftcontents_3columns a,
.rightcontents_3columns a,
.centercontents_3columns a{
position:relative;
z-index:666;
}
としてやれば解決できるのですが、
モーダル・ウィンドウを使ったり複雑な構造の場合は z-index を使いたくないし、
そもそも IE6 には z-index が効かないバグもあるので、できるだけ避けたい、、、
ということで、z-indexを 使わずに修正してみました。
考え方としては、
<2カラム左固定・右可変>
●問題点
左ナビ(幅190px)の後に、
可変の右(幅が100%-190px)、
すなわちwidth:100%;margin-left:-190pxのハコ、margin-left:190pxの中身を、
ハコをfloat:leftにして配置すると、
左ナビのリンクが奥に隠れてクリックできない(ただしIEはOK)。
↓
●対策
左ナビの後は、
width:100%;margin-right:-190pxのハコ、margin-right:190pxの中身を、
ハコをfloat:leftにして配置
(float:rightで配置してもOK。ただしfloatにしないと、横幅が確保できない(回り込んでしまう))。
↓
●問題点
右側に190pxの透明な余白ができ、横方向スクロールバーが出現する。
↓
●対策
overflow:hiddenで消す(ただし、Firefoxではwindowをある幅以下にすると出現する。これに対しては未解決)。
↓
●問題点
IEはスクロールバーが消えない。
↓
●対策
IEのみ、最初に作った構造を適用させる。
↓
●結果
全てのブラウザでOK、、、だと嬉しい。
<2カラム左可変・右固定>
●問題点なし
↓なぜならば、
可変左(幅が100%-300px)、
すなわち、width:100%;margin-right:-300pxのハコ、margin-right:300pxの中身の後に、
300pxの右ナビをfloat:right(leftでもOK)で配置しているので、重なりは記述のない部分なので。
<3カラム左右固定・中可変>
●問題点
左ナビ(幅190px)、右ナビ(幅300px)の後に、
width:100%;margin:0 -300px 0 -190pxのハコ、margin:0 300px 0 190pxの中身を配置しているので、
ナビ部分が重なってリンク部分がクリックできない(IEはOK)。
↓
●対策
上の2カラムで対策を施した構造を応用して作成。
IE以外では、中央カラムに横幅を指定しなくても、右側に左右分のマージンを取るだけでOK。
IEは以前作ったものを使用。
ということで、以下のソースで大丈夫だと思います。
でも、なんでこんなことをやっているかというと、表示に時間がかかる場合の対策やSEO絡みで、記述する順番に制約があるためで、
単にリキッドレイアウトを作るためならもっと簡単に作れると思います。
<style type="text/css">
* {
margin:0;
padding:0;
}
h3 {
clear:both;
font-weight:bold;
padding:3em 0 0;
}
/* -- IE以外の横スクロールバー対策 -- */
.forNonIE{
overflow:hidden;
}
/* --- 2カラム左固定・右可変 --- */
.leftcontents_2columns_leftfix{
width:190px;
float:left;
background:#fee;
}
.rightwrapper_2columns_leftfix{
width:100%;
margin:0 -190px 0 0;
margin:0 0 0 -190px\9;
float:right;
}
.rightcontents_2columns_leftfix{
margin:0 190px 0 0;
margin:0 0 0 190px\9;
background:#eef;
}
/* --- 2カラム左可変・右固定 --- */
.leftwrapper_2columns_rightfix{
width:100%;
margin:0 -300px 0 0;
float:left;
}
.leftcontents_2columns_rightfix{
margin:0 300px 0 0;
background:#fee;
}
.rightcontents_2columns_rightfix{
width:300px;
float:right;
background:#eef;
}
/* --- 3カラム左右固定・中可変 --- */
.leftcontents_3columns{
width:190px;
float:left;
background:#fee;
}
.rightwrapper_3columns{
width:100%;
margin:0 -190px 0 0;
margin:0 0 0 -190px\9;
float:left;
}
.rightcontents_3columns{
width:300px;
margin-right:190px;
margin-right:0\9;
float:right;
background:#eef;
}
.centerwrapper_3columns{
width:100%\9;
margin:0 -300px 0 -190px\9;
float:right\9;
}
.centercontents_3columns{
margin:0 490px 0 0;
margin:0 300px 0 190px\9;
background:#ccc;
}
</style>
<h3>↓↓2カラム左固定・右可変↓↓</h3>
<div class="forNonIE">
<div class="leftcontents_2columns_leftfix">
<a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a>
</div>
<div class="rightwrapper_2columns_leftfix">
<div class="rightcontents_2columns_leftfix">
<a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 3</a> <a href="2">link 3</a> <a href="2">link 3</a> <a href="2">link 3</a> <a href="2">link 3</a> <a href="2">link 3</a> <a href="2">link 3</a> <a href="2">link 3</a> <a href="2">link 3</a> <a href="2">link 3</a> <a href="2">link 3</a> <a href="2">link 3</a> <a href="2">link 3</a> <a href="2">link 3</a> <a href="2">link 3</a> <a href="2">link 3</a> <a href="2">link 3</a> <a href="2">link 3</a> <a href="2">link 3</a> <a href="2">link 3</a> <a href="2">link 3</a> <a href="2">link 3</a> <a href="2">link 3</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a>
</div>
</div>
</div>
<h3>↓↓2カラム左可変・右固定↓↓</h3>
<div class="leftwrapper_2columns_rightfix">
<div class="leftcontents_2columns_rightfix">
<a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a>
</div>
</div>
<div class="rightcontents_2columns_rightfix">
<a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a>
</div>
<h3>↓↓3カラム左右固定・中可変↓↓</h3>
<div class="forNonIE">
<div class="leftcontents_3columns">
<a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a> <a href="1">link 1</a>
</div>
<div class="rightwrapper_3columns">
<div class="rightcontents_3columns">
<a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a> <a href="2">link 2</a>
</div>
<div class="centerwrapper_3columns">
<div class="centercontents_3columns">
<a href="3">link 3</a> <a href="3">link 3</a> <a href="3">link 3</a> <a href="3">link 3</a> <a href="3">link 3</a> <a href="3">link 3</a> <a href="3">link 3</a> <a href="3">link 3</a> <a href="3">link 3</a> <a href="3">link 3</a> <a href="3">link 3</a> <a href="3">link 3</a> <a href="3">link 3</a> <a href="3">link 3</a> <a href="3">link 3</a> <a href="3">link 3</a> <a href="3">link 3</a> <a href="3">link 3</a>
</div>
</div>
</div>
</div>
リッキッドなテンションが上がるBGM
