ドロップダウンオプション付きのメニューを作成しようとしています。秘訣は、オプションの最初のレベルが歪んでいて、子要素が であってはならないことです。親リストタグのスキューを解除せずに、親のhrefのリンクのスキューを解除することはできません..
<body>
<ul id="nav">
<li class="rhombus"><a class="rhlink" href="#">1 HTML</a>
<ul>
<li><a href="#">3.2 Mootools</a></li>
<li><a href="#">3.3 Prototype</a></li>
</ul>
</li>
<li class="rhombus"><a class="rhlink" href="#">2 CSS</a></li>
<li class="rhombus"><a class="rhlink" href="#">3 Javascript</a>
<ul>
<li><a href="#">3.1 jQuery</a>
<ul>
<li><a href="#">3.1.1 Download</a></li>
<li><a href="#">3.1.2 Tutorial</a></li>
</ul>
</li>
<li><a href="#">3.2 Mootools</a></li>
<li><a href="#">3.3 Prototype</a></li>
</ul>
</li>
</ul>
</body>
CSS:
#nav, #nav ul{
margin:0;
padding:0;
list-style-type:none;
list-style-position:outside;
position:relative;
line-height:1.5em;
}
#nav a:link, #nav a:active, #nav a:visited{
display:block;
padding:0px 5px;
border:1px solid #333;
color:#fff;
text-decoration:none;
background-color:#00ff21;
}
#nav a:hover{
background-color:#fff;
color:#333;
}
#nav li{
float:left;
position:relative;
}
li.rhombus{
float:left;
position: relative;
transform: skew(35deg);
-webkit-transform: skew(35deg);
-moz-transform: skew(35deg);
-ms-transform: skew(35deg);
-o-transform: skew(35deg);
}
#nav ul {
position:absolute;
width:12em;
top:1.5em;
display:none;
transform: skew(-35deg);
-webkit-transform: skew(-35deg);
-moz-transform: skew(-35deg);
-ms-transform: skew(-35deg);
-o-transform: skew(-35deg);
}
#nav li ul a{
width:12em;
float:left;
}
#nav ul ul{
top:auto;
}
#nav li ul ul {
left:12em;
margin:0px 0 0 10px;
transform: skew(-0deg);
-webkit-transform: skew(-0deg);
-moz-transform: skew(-0deg);
-ms-transform: skew(-0deg);
-o-transform: skew(-0deg);
}
#nav li:hover ul ul, #nav li:hover ul ul ul, #nav li:hover ul ul ul ul{
display:none;
}
#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li li li li:hover ul{
display:block;
}