【问题标题】:Keep dropdown menu open when moving mouse away?将鼠标移开时保持下拉菜单打开?
【发布时间】:2013-05-22 13:11:53
【问题描述】:

我在 codeigniter 站点中使用 zurb Foundation 4,在桌面版本中,我将登录右上角作为下拉菜单,但是当鼠标从下拉菜单的内容移开时,它会关闭,我想知道是否可以保持打开状态,除非用户单击页面上的其他位置。

请参阅我在基金会网站文档中解释的示例:http://foundation.zurb.com/docs/components/top-bar.html

我只需要编辑该示例,以便在鼠标移开时下拉菜单不会关闭。

我正在使用下面的基本代码:

<nav class="top-bar">
 <ul class="title-area">
 <!-- Title Area -->
<li class="name">
  <h1><a href="test">M450N</a></h1>
</li>
<!-- Remove the class "menu-icon" to get rid of menu icon. Take out "Menu" to just have icon alone -->
<li class="toggle-topbar menu-icon"><a href="#"><span></span></a></li>
</ul>

<section class="top-bar-section">
<!-- Left Nav Section -->
<ul class="left">
  <li class="divider"></li>
  <li class="active"><a href="about">About</a></li>
  <li class="divider"></li>
  <li><a href="index">Events</a></li>
  <li class="divider"></li>
  <li><a href="#">Music</a></li>      
</ul>

<!-- Right Nav Section THIS IS THE PROBLEM SECTION -->
<ul class="right">
<li class="divider"></li>
    <li class="has-dropdown"><a href="#">Login</a>
    <ul class="dropdown">
      <li class="has-dropdown">
      <div class="panel">
      <input type = "text" value = "Username"/><br />
      <input type = "text" value = "Password"/><br />
      <input type = "Submit" value = "Login"/></div>
     </li>
 </ul>
 </section>
 </nav>

基础 CSS: http://pastebin.com/iRpqtY2G

主要 CSS:http://pastebin.com/fBExPY1j

【问题讨论】:

  • 您的问题既不包含可能导致您描述的错误行为的 css 或 javascript。请提供更多数据。
  • 我没有包含它们的原因是唯一可以适用的 css 是标准的基础 javascript 和 css 文件,它不是一个错误如果我可以将它添加到我的网站这里是基础 css 文件:CSS LINK。谢谢。
  • 请参阅基础文档上的示例,显示这是它的标准工作方式,但我想更改它,以便在鼠标移开时下拉菜单不会关闭foundation.zurb.com/docs/components/top-bar.html

标签: javascript html codeigniter zurb-foundation


【解决方案1】:

你可以使用 CSS 属性 ":active" 代替 ":hover"

使用

ul.dropdown:active {
    // css properties
}

代替

ul.dropdown:active {
    // css properties
}

可能有助于: 将 :hover 替换为 :active

.top-bar-section ul li > a:hover {
.top-bar-section ul li > a.button:hover {
.top-bar-section ul li > a.button.secondary:hover {
.top-bar-section ul li > a.button.success:hover {
.top-bar-section ul li > a.button.alert:hover {
.top-bar-section li a:not(.button):hover {

到

.top-bar-section ul li > a:hover,.top-bar-section ul li > a:active {
.top-bar-section ul li > a.button:hover,.top-bar-section ul li > a.button:active {
.top-bar-section ul li > a.button.secondary:hover,.top-bar-section ul li > a.button.secondary:active {
.top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:active {
.top-bar-section ul li > a.button.alert:hover,.top-bar-section ul li > a.button.alert:active {
.top-bar-section li a:not(.button):hover,.top-bar-section li a:not(.button):active {

此代码还可以帮助您添加“Onclick”功能。如果您只想要“onclick”功能,请使用下面提到的行

.top-bar-section ul li > a:active {
.top-bar-section ul li > a.button:active {
.top-bar-section ul li > a.button.secondary:active {
.top-bar-section ul li > a.button.success:active {
.top-bar-section ul li > a.button.alert:active {
.top-bar-section li a:not(.button):active {

【讨论】:

  • 感谢您的回复,我相信代码应该是ul.dropdown:hover,对吗?但是我在基础 css 中找不到它,我尝试在我的 main.css 中创建它以覆盖它无济于事,如果您能指出正确的方向,这里是基础.css 代码:CSS LINK 谢谢。
  • 可能有助于:将 :hover 替换为 :active
猜你喜欢
  • 1970-01-01
  • 2013-03-09
  • 1970-01-01
  • 2018-02-22
  • 2021-04-28
  • 2012-05-15
  • 1970-01-01
  • 1970-01-01
  • 2019-12-09
相关资源
最近更新 更多