【问题标题】:How to toggle a nav menu with CSS? [duplicate]如何使用 CSS 切换导航菜单? [复制]
【发布时间】:2016-03-23 14:19:44
【问题描述】:

是否可以在悬停时创建一个过渡,用纯 css 切换导航栏?

我创建了一个名为 Categorie 的 li。我的数据库中有几个类别,因此每个类别都有一个新的li

<ul id="categorie">
  <li><a href="?control=bezoeker&action=categorie">Categorie</a>
    <ul>
       <?php foreach($categorieen as $categorie):?>
         <li><a href="?control=bezoeker&action=category&aid=<?= $categorie->getId();?>"> 
         <?= $categorie->getNaam();?></a></li>
       <?php endforeach;?>
     </ul>
   </li>
</ul>

所以我想关闭“类别”并在悬停时打开,这样您就可以看到所有其他子 li 的

我尝试在悬停时添加transition: 500ms ease-out 1s;,但没有成功。还有另一种方法可以做到这一点吗?还是我需要使用 jQuery?

我的切换不是 onClick,它是悬停的,所以这个问题不是重复的

【问题讨论】:

  • ^ 查看任何提到复选框黑客的答案,只需将菜单类设置为隐藏,然后在选中时将其设置为显示。那里可能有一个更直接的副本,但这应该涵盖您所要求的要点(如何通过 CSS 切换可见性)。需要明确的是,切换是一个点击动作,悬停只是一个光标检测动作。

标签: jquery html css


【解决方案1】:

是的,

.dropdown {
    position: relative;
    display: inline-block;
}

.dropdown .dropdown-content {
    display: block;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    padding: 12px 16px;
    overflow: hidden;
    -webkit-transition: all 0.5s; /* Safari */
    transition: all 0.5s;
    height: 0;
    opacity: 0;
}

.dropdown:hover .dropdown-content {
    -webkit-transition: height 0.5s; /* Safari */
    transition: height 0.5s;
    height: 40px;
    opacity: 1;
}
<h2>Hoverable Dropdown</h2>
<p>Move the mouse over the text below to open the dropdown content.</p>

<div class="dropdown">
  <span>Mouse over me to slide down</span>
  <div class="dropdown-content">
    <p>Hello World!</p>
  </div>
</div>

Reference

【讨论】:

  • 这正是我的代码所做的,你的盒子突然出现,没有过渡。
  • 你想要什么样的过渡?
  • 一个开关,就像这个,w3schools.com/jquery/…
  • 赞成,因为您的回答解决了 OP 似乎对原始措辞的要求。
  • @TylerH 谢谢你。空白,我更新了我的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多