Simple CSS Menus: One-Line Menu.
一行 Menu ,在同人界經常都可以看見。做法簡單,很適合初心者。以下會參考しろ先生的設計來進行。
しろ先生網頁的 Menu [050320] 。
Preparation.
假設我們有一個 ID 為 nav 的 Unordered List 。
<ul id="nav"> <li><a>Item 1</a></li> <li><a>Item 2</a></li> <li><a>Item 3</a></li> <li><a>Item 4</a></li> <li><a>Item 5</a></li> </ul>
像這種 Navigation 可以說是最簡單的一種形式了。
View.
Make It One-Line.
這個很方便,把 li element 變成 inline 就行,順便還可以置中掉。
ul#nav {
text-align: center;
}
ul#nav li {
display: inline;
}
因為 li element 已經被 Display 為 inline ,不再具有 List item 的特性,所以像是設定 list-style property 之類的動作可以省掉。
View.
Accessory.
接下來是在所有 Link 左面都有的裝飾物,下面是最簡單直接的方法。
ul#nav li::before {
content: "\25CF";
}
使用 Generated Content 在所有 li elements 左邊都加上一個圓形裝飾物 (25CF 是這個圖案在 Unicode 中的位置) 。選擇在 li 而不是在 a 加上的原因是因為這個裝飾物是 non-clickable 的。
View.
Decoration.
到最後再調較一下位置和顏色便成了。
Problem.
問題在於 IE 並不支援 Generated Content 。 IE 具有超越 80% 以上的市佔率,雖然很不願意但我們需要使用另一種方法。
ul#nav li {
background: url(./libg.gif) no-repeat left bottom;
padding-left: 10px;
}
調整一下 li elements 的 padding 後再把相應的背景貼上去即可。這下子有支援 CSS 的 Browser 應該都可以正常顯示了。
View.
就這樣。
Comments
Post a Comment