[PROCESS2][LEVEL3]画像を使わずに横並びのナビゲーションメニューにて現在位置をマークする方法です。
SAMPLE
大袈裟にマーカーを大きくしておきました。中央に配置したつもりなのですが、Safariで見るとちょっと右寄りに表示されています。
▼
HTML
ただ単にマーカー「▼」をボックスで囲みナビゲーション上の該当位置の下にジョイントするだけなので、大した方法ではありません。疑似要素 :after を使って表示する方法もあるのですが、 IE に対応していないのでここでは却下しました。
<div id="navi" class="packet">
<ul>
<li><a href="/">ホーム</a></li>
<li class="stay"><a href="about.html">このサイトについて</a></li>
<li><a href="sitemap.html">サイトマップ</a></li>
<li><a href="contact.html">お問い合わせ</a></li>
</ul>
</div>
<div id="marker"><span class="about">▼</span></div>
CSS
ただし、marginやpaddingを使って位置決めするのはCSS上乱雑になるので、ボックス要素に position:relative; を施した上で各メニュー項目をclass指定して位置決めをしています。
※IE6でうまく表示できなかったので<span>レベルでクラス指定をすることにしました。このサイトの場合、XHTMLの第一行目のXML宣言をとっていないのでIE6でご覧の方には正しく表示されていない部分があります(ex. 右上の黒板)。今回の件もXML宣言をとればまともに表示されるのかもしれません。XML宣言を外さないのは、正しく表示されてしまうとまた別の困った問題がIE6で発生するためです。
(2008.10.7)
#navi {
border-top: 1px solid #aaa;
border-bottom: 1px solid #aaa;
width: 100%;
font-size: 11px;
margin: 20px 0 0 0;
padding: 20px 0;
background: #fff;
}
#navi ul {
list-style-type: none;
overflow: hidden; /*レイアウト崩れ防止*/
height: 60px; /*ボックスの高さを指定*/
margin: 0;
padding: 0;
border-left: 1px solid #aaa;
border-bottom: 1px solid #aaa;
}
#navi li {
float: left; /*後続を左寄せに浮動させる*/
width: 94px;
margin: 0 1px 0 0;
padding: 0;
}
* html #navi li {
margin: 0; /*IE6用のハック*/
}
#navi a {
display: block;
padding: 35px 0 14px 0;
color: #aaa;
text-decoration: none;
text-align: center;
border-right: 1px solid #aaa;
background: #222;
width:100%; /* for IE */
}
#navi .stay a {
background: #444;
}
#navi .stay a:hover {
color: #ccffcc;
background: #444;
}
#navi a:hover {
color: #ccffcc;
background: #444;
}
#marker {
font-size: 30px;
color: #444;
position: relative;
top: -36px;
}
#marker span {
display: block;
width: 30px;
height: 30px;
}
span.home {
position: relative;
left: 36px;
}
span.about {
position: relative;
left: 132px;
}
span.sitemap {
position: relative;
left: 226px;
}
span.contact {
position: relative;
left: 320px;
}
.packet:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
/* IE7用ハック ▼ */
*:first-child+html .packet {
min-height:1px;
}
/* IE7用ハック ▲ */
/* Hides from IE-mac ▼ \*/
* html .packet {
height:1%;
}
/* hide from IE-mac ▲ */
RELATED POSTS
SEARCH
SPONSORED LINK
- NIKON D-SLR D90
- 『世界初の動画撮影機能付デジタル一眼レフカメラ|ニコンD90』
- Canon D-SLR EOS 5D MarkII
- 『あの5DがMarkIIへ。EOSシリーズ初、フルHD動画撮影機能を搭載。2008年11月下旬発売。』









