0

我想为移动视图制作菜单,而在移动设备上不使用鼠标悬停菜单,如果用户触摸或单击该菜单,我需要展开子菜单。

HTML:

<div id="cssmenubox">
<ul id="cssmenu">
<li><a href="#">Home</a></li>
<li><a href="#">Gallery</a>
<ul>
<li><a href="#">Single</a></li>
<li><a href="#">Story</a></li>
<li><a href="#">Monotone</a></li>
</ul>
</li>
<li><a href="#">Post</a>
<ul>
<li><a href="#">News</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">Quotes</a></li>
</ul></li>
<li><a href="#">About</a></li>
</ul>
</div>​

这是我的 CSS 示例,我需要将“悬停”更改为“单击”以进行移动视图。

#cssmenubox { width: auto; height:auto; }
ul#cssmenu {
list-style: none !important;
margin: auto;
padding: 0;
width: 100%;
height: 75px;
display: block;
background-color: #fff !important;
}
ul#cssmenu ul { 
display: block; 
}
ul#cssmenu li {
font-size: 32px;
margin: auto;
list-style: none !important;
height: 75px;
display: block;
width:100%;
display:block;
}
ul#cssmenu li:first-child {
}

ul#cssmenu a {
display: block;
text-decoration: none;
font-weight:normal;
height: 75px;
color: #000;
}
ul#cssmenu a:hover {
color: #0090D3;
height: 75px;
}
ul#cssmenu li > ul { display:none; }
ul#cssmenu li:hover ul { 
display: block;
font-size: 14px;
}
ul#cssmenu li:hover ul li {
display:block;
width:auto;
height:auto;
}
ul#cssmenu li > ul > li { 
display:block;
}
ul#cssmenu li > ul > li {
background-color:#fff;
z-index:2;
position:relative;
height:75px;
}
ul#cssmenu li:first-child {
}​

示例:http: //jsfiddle.net/mVBXM/

4

1 回答 1

0

你为什么不尝试媒体查询?采用

@media only screen and (max-width: 480px) {
     /* Your CSS code comes here */
}

确保覆盖移动视图中不需要的所有属性。这样,桌面视图的 CSS 不会影响移动视图。

据我所知,CSS 中没有可用的 click 伪类。所以你需要使用Javascript来做到这一点。检查此链接以获取更多详细信息。

http://www.w3.org/TR/CSS2/selector.html

于 2012-12-31T11:32:38.330 回答