我正在尝试使用一些CSS3转换做出下拉导航菜单。但是,当使用隐藏/可见性时,iOS不会显示下拉菜单(它只是转到链接)。如果我使用display none/block,iOS会在父元素第一次点击时显示下拉菜单,但这些转换在任何浏览器中都不起作用。CSS3下拉菜单和iOS问题
有没有办法让这些转换在浏览器中正常运行,并且下拉菜单在iOS中不使用javascript?
降下来不会在iOS中工作:
nav ul li ul {
position: absolute; visibility: hidden; opacity: 0; left: 0; top: 50px; z-index: 99;
-webkit-transition: all .35s ease-in-out;
-moz-transition: all .25s ease-in-out;
-o-transition: all .35s ease-in-out;
-ms-transition: all .35s ease-in-out;
transition: all .35s ease-in-out;
}
nav ul li:hover > ul { visibility: visible; opacity: 1; top: 40px; }
转变不会在浏览器中工作:
nav ul li ul {
position: absolute; display: none; opacity: 0; left: 0; top: 50px; z-index: 99;
-webkit-transition: opacity .35s ease-in-out, top .35s ease-in-out;
-moz-transition: opacity .35s ease-in-out, top .35s ease-in-out;
-o-transition: opacity .35s ease-in-out, top .35s ease-in-out;
-ms-transition: opacity .35s ease-in-out, top .35s ease-in-out;
transition: opacity .35s ease-in-out, top .35s ease-in-out;
}
nav ul li:hover > ul { display: block; opacity: 1; top: 40px; }
iOS版意味着Mobile Safari?你为什么试图依靠:悬停触摸设备(这是不可预知的)?我发现你不想使用JS,但它可以让你事件更精确。在我看来,你应该使用一个Javascript单击事件来显示和隐藏事件,并通过event.preventDefault()来禁止链接操作。 – 2012-04-18 23:27:20