通常我会遇到需要在悬停时显示菜单,而对于移动设备,菜单应在点击时打开的情况。现在,例如,考虑以下示例:
.btn {
width: 200px;
background-color: #333;
color: white;
padding: 10px;
}
.menu {
display: none;
padding: 15px;
}
.btn:hover .menu {
display: block;
}
.btn:focus .menu {
display: block;
}
<div class="btn">
Button
<div class="menu">I am menu</div>
</div>
所以我的问题是:
使用悬停状态 hack 是否可以,还是应该使用 JavaScript 事件使其更加稳定?
:target
的<a>
元素或带有:checked
的<input type="checkbox">
,则可以避免整个问题。据我所知,没有浏览器会考虑篡改链接/表单功能。 - junkfoodjunkie