首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >CSS悬停菜单不起作用

CSS悬停菜单不起作用
EN

Stack Overflow用户
提问于 2017-06-15 00:04:45
回答 1查看 618关注 0票数 0

我正在尝试在css中创建一个响应式导航栏。当屏幕的宽度足够大时,我想要文本,当它低于某个宽度时,我想要一个下拉框。响应性开始发挥作用,但悬停功能不起作用。我只想在悬停时显示下拉菜单

这是jsfiddle:https://jsfiddle.net/cjbruin/rnmg5gjb/

和代码

HTML

代码语言:javascript
代码运行次数:0
运行
复制
<div class="topnav" id="myTopnav">
  <a href="#">Home</a>
  <a href="#">News</a>
  <a href="#">About</a>
  <a href="#">Contact</a>
  <a href="javascript:void(0);" style="font-size:15px" class="icon">&#9776;</a>
</div>

CSS:

代码语言:javascript
代码运行次数:0
运行
复制
.topnav {
  overflow: hidden;
}

.topnav a {
  float: right;
  display: block;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

.topnav a:hover {
  color: black;
}

.topnav .icon {
  display: none;
}

@media screen and (max-width: 800px) {
  .topnav a {
    display: none;
  }
  .topnav a.icon {
    float: right;
    display: block;
  }
  .icon:hover .topnav a {
    display: block;
    color: black;
  }
}
EN

回答 1

Stack Overflow用户

发布于 2017-06-15 00:44:02

代码语言:javascript
代码运行次数:0
运行
复制
.icon:hover .topnav a {
    display: block;
    color: black;
  }

这段代码就是问题所在,.icon在.topnav类中。

CSS规则:

X Y:选择所有子项(Y)。这就是您正在使用的

X~Y :选择X旁边的所有Y

因此有许多解决方案可以解决您问题

1.

代码语言:javascript
代码运行次数:0
运行
复制
.icon:hover .topnav a {
    display: block;
    color: black;
  }

将其更改为以下内容

代码语言:javascript
代码运行次数:0
运行
复制
.icon:hover ~ a {
    display: block;
    color: black;
  }

https://jsfiddle.net/rnmg5gjb/5/

  1. 在外面使用.icon类并使用.icon:hover .topnav a
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44549675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档