HOME 『 CSSによる横並びのナビゲーション – 画像を使わずに現在位置をマークする 』

MOVABLE PRESS ↑ フィード・ティッカーを使ってみましょう

メールで更新情報をお伝えできます:

配信: FeedBurner

  • あわせて読みたいブログパーツ
  • フィードメーター - MOVABLE PRESS
2010年3月
« 11月    
 123456
78910111213
14151617181920
21222324252627
28293031  

[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 ▲ */

[ CSSによる横並びのナビゲーション – 画像を使わずに現在位置をマークする ] のポストデータ▼

[Date]
2008年10月6日
[Time]
at 11:59 pm
[Author]
Akihiro
[Comments]
( 0 )
[Categories]
CSS, マークアップとスタイルおよびユーティリティー
[Tags]
, , ,
[BOOKMARK]
-
   

'CSSによる横並びのナビゲーション – 画像を使わずに現在位置をマークする'にコメントはありません

コメント(トラックバック)を受け付けています