gpt4 book ai didi

android - 如何避免在 Android 上自动选择纯 css 下拉菜单中的第一项

转载 作者:行者123 更新时间:2023-11-28 08:24:14 24 4
gpt4 key购买 nike

我有一个 pure css pull-down menu在台式机、iPad 和旧版 Android 浏览器上运行良好。

但是 Android 5 上的 Chrome 有一个问题:当我选择菜单标题(“第一个菜单”)时,第一个元素(“Lorem”)总是被自动选中。我怎样才能避免这种情况?

我无法在其他移动浏览器中重现此问题。它在旧版 Android 上的 Chrome 中也能正常工作。

enter image description here

HTML:

<div class="menuouter"><div onClick=”return true;” class="firstmenu menuinner">First menu<ul>
<li><a class="menuitem " href="#">Lorem</a></li>
<li><a class="menuitem " href="#">Ipsum</a></li>
<li><a class="menuitem " href="#">Lorem</a></li>
<li><a class="menuitem " href="#">Ipsum</a></li>
</ul></div></div>

CSS:

*, *:before, *:after {
box-sizing: border-box;
}
.menuouter {
height: 2.2em;
display: inline-block;
vertical-align: top;
width: 200px;
margin: 0 10px 0 0;
}
.firstmenu {
z-index: 1;
}
.menuinner {
line-height: 2.0em;
margin: 10px;
padding: 0;
border: 2px solid purple;
width: 100%;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
position: relative;
}
.menuinner > ul {
display: none;
width: 100%;
margin: 0;
padding: 0;
}
.menuinner > ul li {
margin: 0;
list-style-type: none;
}
.menuinner > ul li a {
background-color: #ccc;
width: 100%;
display: block;
padding: 5px;
border-bottom: 1px solid red;
}
.menuinner > ul li a:last-child {
border-bottom: none;
}
.menuinner:hover > ul {
padding: 0;
margin: 0;
list-style-type: none;
display: block;
background: #f9f9f9;
border-top: 1px solid purple;
}
.menuinner:hover > ul > li {}
.menuinner:hover > ul > li:hover a {
background: #ccc;
}
.menuinner:hover > ul > li:hover > a {
color: red;
background-color: blue;
}

最佳答案

我没有看到 Android 5 上的 Chrome 与其他版本的行为有所不同。我相信您正在体验香肠手指/小手机效果……无意冒犯 :-)。

当您点击下拉菜单时,您与之交互的区域恰好与第一个 li 所在的位置重叠...从而触发悬停。

试试这个版本,用更大的区域点击: fiddle .

我会考虑在触摸设备上完全禁用 li:hover。您可以使用媒体查询或 javascript 来检测设备的类型(参见 this question ),然后使用 pointer-events: none; 禁用悬停(参见 docs )。请注意,这假定触摸或鼠标功能,并且不适用于同时具有这两种功能的设备。

参见 Disable hover effects on mobile browsers以获得对其他方法的全面解释。

关于android - 如何避免在 Android 上自动选择纯 css 下拉菜单中的第一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28601716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com