用CSS製作隱藏選單

yeahokay發表於2007-07-18
簡潔的隱藏垂直選單在hover時將內容展開。這樣的效果在JS裡有很多個版本,但這個可以說是絕無僅有的CSS版本。此選單可以在IE5.5,IE6,IE7,FF,Opera,NS8以及MacFF1.5和Safari里正常顯示,雖然Mac IE5.X裡可能會有些問題。[@more@]

CSS 程式碼

/* 共用樣式 */
.menu {
font-family: verdana, sans-serif;
position:relative;
font-family: tahoma, geneva, "lucida sans unicode", "lucida grande",verdana, sans-serif;
margin-bottom:220px;
}
.menu ul {
padding:0;
margin:0;
list-style-type: none;
}
.menu ul li {
position:relative;
float:left;
}

.menu ul li a, .menu ul li a:visited {
display:block;
text-decoration:none;
width:25px;
height:100px;
font-weight:bold;
background:transparent url(../../updata/tab.gif) top right no-repeat;
text-indent:-999px;
}

.menu ul li ul {
visibility:hidden;
position:absolute;
width:190px;
top:0;
left:0;
border:1px solid #444;
}

table {
margin:0; padding:0; border:0;
border-collapse:collapse;
font-size:1em;
}

/* 非IE瀏覽器專用 */
.menu ul li:hover a {
color:#fff;
width:215px;
}

.menu ul li:hover ul {
visibility:visible;
}

.menu ul li:hover ul li a {
display:block;
background:#eee;
border:0;
margin:0;
text-indent:0;
color:#333;
font-weight:normal;
font-size:0.9em;
height:auto;
line-height:1em;
padding:5px;
width:180px;
text-align:left;
}

.menu ul li:hover ul li a:hover {
background:#888;
color:#fff;
}

如果是要支援IE6則要加上:
.menu ul li a:hover {
width:215px;
}
.menu ul li a:hover ul {
visibility:visible;
}
.menu ul li a:hover ul li a {
display:block;
background:#eee;
border:0;
margin:0;
text-indent:0;
color:#333;
font-weight:normal;
font-size:0.9em;
height:auto;
line-height:1em;
padding:5px;
width:190px;
width:180px;
text-align:left;
}
.menu ul li a:hover ul li a:hover {
background:#888;
color:#fff;
}

生效的XHTML程式碼:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/786540/viewspace-926959/,如需轉載,請註明出處,否則將追究法律責任。

相關文章