【发布时间】:2021-06-14 12:25:09
【问题描述】:
我在我的菜单上使用 pseudo-class:focus-within 来显示单击时的子菜单,但它显示了一秒钟,然后子菜单消失了。 使用伪类时没有问题:hover,我只是有focus-within的问题。
li class="has-sub-menu" 当我点击它以显示 ul class="sub-menu" 它会消失。
有人可以帮帮我吗?
这是我的 HTML 和 CSS 代码。
li.has-sub-menu{
position: relative;
margin-right: 10px;
padding-bottom: 5px;
}
ul.sub-menu{
position: absolute;
top:20px ;
box-shadow: 0px 0px 3px 3px #a1a1a1;
border-radius:2%;
border: 1px solid;
display: none;
white-space: nowrap;
min-width: 100px;
}
li.has-sub-menu:focus-within ul.sub-menu{
display: block;
}
.sub-menu li{
border-bottom:1px #a1a1a1 dashed;
padding-top: 5px;
padding-bottom: 5px;
padding-left: 30px;
position: relative;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<ul>
<li class="has-sub-menu">
<ul class="sub-menu">
<li><a href="">VGA</a></li>
<li><a href="">Power</a></li>
<li><a href="">Case</a></li>
<li><a href="">Network </a></li>
<li><a href="">CPU</a></li>
<li><a href="">CPU FAN</a></li>
</ul><a href="">products</a>
</li>
</ul>
</body>
</html>
【问题讨论】:
-
我运行了演示,但无法弄清楚您到底在说什么。我究竟应该悬停/聚焦什么?
-
你用什么浏览器?
-
@TJ 旁边有向下箭头的那个。我使用 Chrome。
-
您的 HTML 有很多错误,包括致命错误。放入 HTML 验证器并修复它们...
-
你能创建一个[链接]stackoverflow.com/help/minimal-reproducible-example 鉴于有几个子菜单,我发现很难看到发生了什么。你能举一个例子来说明问题,但只有一个?
标签: html css pseudo-class