2011/6/14

[教學]在blogger建立下拉式導覽列

blogger加上導航列和高亮顯示當前頁面的導航列都會了,那麼下拉式(階層式)導覽列又要怎麼做呢?無須用javascript或其他外掛,僅需在CSS上定義blogger內建的標記值就可以輕鬆達成囉!一樣請務必記得在實做以前儲存完整範本,以下,就來step by step吧!


  • 首先,勾選展開小裝置範本→利用ctrl+F找到]]></b:skin>,在它前面加上下面這段程式碼(字體顏色不同的地方是圖片及色碼,都可以依照自家版型需求隨意替換)

/* ----- NAV MENU ----- */
#navMenu {
width: 910px;
height: 35px;
background:#deb8b8 url(https://ihbqkg.bay.livefilestore.com/y1p3aWC941BvpgFq8tPSKUpNp8l0MhmU7DAVl41DQ1BeKk8Z_u2q2zow8T3-QbOksv9mqdFZ-_Jb6407f99F_guWOiGUGOCWEUH/nav.gif) repeat-x top;
color: #b56666;
margin: 0 auto 0;
padding: 0;
font: bold 11px Century Gothic, Arial, Tahoma, Verdana;
border-top: 1px solid #debeb8;
border-bottom: 1px solid #FFFFFF;
}
#navMenuleft {
width: 680px;
float: left;
margin: 0;
padding: 0;
}
#nav {
margin: 0;
padding: 0;
}
#nav ul {
float: left;
list-style: none;
margin: 0;
padding: 0;
}
#nav li {
list-style: none;
margin: 0;
padding: 0;
}
#nav li a, #nav li a:link, #nav li a:visited {
color: #b56666;
display: block;
text-transform: capitalize;
margin: 0;
padding: 9px 15px 8px;
font: normal 15px Century Gothic, Times New Roman;
}
#nav li a:hover, #nav li a:active {
background:#deb8b8;
color: #b56666;
margin: 0;
padding: 9px 15px 8px;
text-decoration: none;
}
#nav li li a, #nav li li a:link, #nav li li a:visited {
background:#deb8b8 url(https://ihbqkg.bay.livefilestore.com/y1p3aWC941BvpgFq8tPSKUpNp8l0MhmU7DAVl41DQ1BeKk8Z_u2q2zow8T3-QbOksv9mqdFZ-_Jb6407f99F_guWOiGUGOCWEUH/nav.gif) repeat-x top;
width: 150px;
color: #000;
text-transform: lowercase;
float: none;
margin: 0;
padding: 7px 10px;
border-bottom: 1px solid #deb8b8;
border-left: 1px solid #deb8b8;
border-right: 1px solid #deb8b8;
font: normal 14px Century Gothic, Times New Roman;
}

#nav li li a:hover, #nav li li a:active {
background: #deb8b8;
color: #b56666;
padding: 7px 10px;
}
#nav li {
float: left;
padding: 0;
}
#nav li ul {
z-index: 9999;
position: absolute;
left: -999em;
height: auto;
width: 170px;
margin: 0;
padding: 0;
}
#nav li ul a {
width: 140px;
}
#nav li ul ul {
margin: -32px 0 0 171px;
}
#nav li:hover ul ul, #nav li:hover ul ul ul, #nav li.sfhover ul ul, #nav li.sfhover ul ul ul {
left: -999em;
}
#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li.sfhover ul, #nav li li.sfhover ul, #nav li li li.sfhover ul {
left: auto;
}
#nav li:hover, #nav li.sfhover {
position: static;
}


  • 再找到下面這段程式碼,若找不到就掐頭去尾留中間找找看類似區段
    (例如ctrl+F搜尋自己部落格名稱)
<div id='header-wrapper'>
<b:section class='header' id='header' maxwidgets='1' showaddelement='no'>
<b:widget id='Header1' locked='true' title='你的部落格名稱' type='Header'/>
</b:section>
</div>
  • 在這段程式碼下方加上自訂義的下拉式導航列,
    不同顏色的標籤分屬不同階層(要幾層有幾層)

<div id='navMenu'>
<div id='navMenuleft'>
<ul id='nav'>
<li><a expr:href='data:blog.homepageUrl'>Home</a></li>
<li><a href='欲連結網址'>News</a></li>
<li><a href='欲連結網址'>Life</a>
<ul>
<li><a href='欲連結網址'>Parrot</a></li>
<li><a href='欲連結網址'>Cosmetics</a></li>
<li><a href='欲連結網址'>Internet</a></li>
<li><a href='欲連結網址'>Travel</a>
<ul>
<li><a href='欲連結網址'>Backpacking</a></li>
<li><a href='欲連結網址'>Tour</a></li>
</ul>
</li>
</ul>
</li>
<li><a href='欲連結網址'>Tips and Trick</a></li>
</ul>
</div>
</div> <!-- end nav -->



如果不要更動我的CSS,會呈現這樣

blogger下拉式導行列

點擊可放大




第一層

blogger下拉式導行列

點擊可放大




第二層

blogger下拉式導行列

點擊可放大



收工,有問題就留言吧:)。

推文分享》
buzz this 加入此網頁到del.icio.us 書籤

24 comments:

小笠 說... Reply

這個蠻方便的,我都不知道凱特還有一個專門用來展示的實驗室,我也要來改一改Blog了

2011年6月15日上午8:24
KateJane 說... Reply

@小笠
實驗室剛成立的啦XD
這樣才不用冒險拿自己部落格做實驗咩^^

2011年6月15日上午9:45
達人幫 說... Reply

話說凱特的BLOG設計的真不錯,很有個人的風格...

很多細節都有注意到(((拍手拍手!!

尤其是每篇文章的第一個字..有吸引到我注意XD

2011年6月15日下午1:48
Simon 說... Reply

好喜歡這個功能,想請教一下,我copy試了一下之後,發現當滑鼠移到第一層時,第二層有顯現出來,但滑鼠要移到第二層時,第二層會自動收起來,無法點觸,請問是什麼原因呢?

2011年8月25日下午1:03
Snow's Zakka 說... Reply

凱特妳好~^^
實在是很謝謝妳的這篇文,幫了好大的忙啊!!!!!
但我有遇到個小小問題,
摸了半天,實在不知從何改起~
可以請凱特給點指引嗎????大感謝!!!!

我下拉式導覽列設好後,
回版去看,
發現子導覽列與孫導覽列背景是透明的(主列背景正常),
因為透明的關係,
在下拉導覽時,
字都會被後面的圖示給蓋過去,變的很不明顯....
請問凱特,我可以從語法哪著手讓背景色不要是透明的呢????
希望可以幫我這個忙,感謝感謝~~!!!
PS:若是不瞭解我的問題,我方便mail網址給妳瞧瞧嗎??3Q^^

2011年9月1日上午9:25
Simon 說... Reply

@�ͯS����
感謝你,我還沒建正式網址,目前測試用的是:
http://simonbloggertest.blogspot.com
而我猜想出問題的地方,可能是因為我把背景設定成固定,而前景透明,或許是這樣而有層次的關係,造成你這個漂亮的導覽列被較上層的蓋住了。

2011年9月5日下午11:40
Unknown 說... Reply

我發現使用IE9無法正常觀看...囧
請問有什麼解決方式嗎?

/PS
凱特可以再來一篇實驗室新nav bar的攻略文嗎?
那個好有質感!
感謝

2011年11月23日下午9:05
boris 說... Reply

凱特妳好~
我發現這個nav bar用ie9無法正常檢視,
不知道有沒有修正辦法呢?

ps:可以高抬貴指來一篇實驗室新版navbar的攻略文嗎?
那個看起來好有質感耶

感謝~

2011年11月23日下午9:09
匿名 說... Reply

你好,我想請問一下,為什麼我的導覽列都會跑道網頁的最上方,而不是像版主一樣在中間?

2012年2月8日上午2:00
yoga liu 說... Reply

親愛的版主~我如果放了這語法導覽列也會跑到最上方~~可以幫我看看嗎?我想在現有的其中兩個連結裡面加下拉選單~~http://9-tail-of-gecko.blogspot.com/ 非常感謝你QQ!!

2012年2月25日下午11:46
YOGA 說... Reply

請問一下,我想在我的BLOG連結清單中加入像你說的下拉導覽列,可是加入之後導覽列都會跑到網頁最上方,應該怎麼做呢?謝謝您

2012年2月26日下午10:41
銀河星系 說... Reply

請問如何在導覽列(menu bar)下放入標籤雲,就像www.skyvee.net那樣。

2012年3月23日下午5:37
ZEN 說... Reply

您好,請問設定時,按預覽時出現以下資訊,我該如何進行下一步呢?

我們無法剖析您的範本,因為它的結構不完整。 請確定所有的 XML 元素均已正確關閉。 <br/> XML 錯誤訊息: The element type "li" must be terminated by the matching end-tag "</li>".
Error 500

2012年4月4日上午3:41
簡凱特 說... Reply

@ZEN你有一個li後面沒有對應到/li結尾,檢查一下程式碼補上就可以囉!!

2012年4月5日下午1:28

我也來該該叫》

◎該一下唄( ̄3 ̄)a

1.本部落格不含"nofollow",多留言幫自己多加分喔!
2.沒有blogger帳號者選擇【名稱/網址】一樣可以留言^^y
3.匿名攻訐、不相干之廣告適用於無條件刪去法,望請海涵:)
4.您可以使用一些 HTML 標記,如:<b>粗體</b>, <i>斜體</i>, <a href='網址'>描述文字</a>
5.勿違反公序良俗XD