仅在li中的跨度上悬停时显示下拉菜单

时间:2014-08-22 07:27:59

标签: jquery css css3 drop-down-menu hover

我只想在hovered上的一个字li (.$user->user_login.)上显示下拉菜单。 目前我已悬停在整个li上,但我不希望将鼠标悬停在“你好”上。 当我将鼠标悬停在用户名上时,我必须得到一个下拉菜单。不是当我在“你好”

时盘旋

这是我的代码:

<ul class="top_login">
    <li><a href="<?php echo wp_logout_url( site_url() ); ?>" title="Logout">Logout</a></li>
    <li><a style="color: #20dae6;"> <?php $user=wp_get_current_user(); echo "Hello  <span style='color:#464646'>".$user->user_login."</span>"; ?> </a> 
        <ul class="profile_tab">
            <li><a href="<?php echo site_url(); ?>register-profile/">Edit Profile</a></li>
            <li><a href="<?php echo site_url(); ?>/manage-bookings/">Manage Subscriptions</a></li>
        </ul>
    </li>
</ul>

这是我的 css

ul.top_login li {float:right;text-align:right;width:auto;position:relative;margin:0 5px;}

ul.top_login li a {color:#20dae6;font-weight:600;text-transform:uppercase;cursor:pointer;}

/*SUB MENU*/

ul.profile_tab {background:#00777F;left:0;position:absolute;text-align:left;width:200px;z-index:999;display:block;}

ul.profile_tab li {height:22px;line-height:20px;display:block;float:left;text-align:left;margin:0;}

ul.top_login ul {display:none;}

ul.top_login li:hover ul {display:block;}

这是我们得到的呈现 HTML

<ul class="top_login">
   <li>
      <a title="Logout" href="http://localhost/iseasserver/wp-login.php?action=logout&redirect_to=http%3A%2F%2Flocalhost%2Fiseasserver&_wpnonce=2846506c7c">Logout</a>
   </li>
   <li>
      <a style="color: #20dae6;">
      Hello
      <span style="color:#464646">admin</span>
      </a>
      <ul class="profile_tab">
         <li>
            <a href="http://localhost/iseasserver/pie-register-profile/">Edit Profile</a>
         </li>
         <li>
            <a href="http://localhost/iseasserver/manage-bookings/">Manage Subscriptions</a>
         </li>
      </ul>
   </li>
</ul>

我该怎么做?

提前致谢。

enter image description here

2 个答案:

答案 0 :(得分:2)

使用如下。

 .top_login li a:hover span {color:blue;}

编辑:

根据您的新要求,您只需使用jQuery即可获得良好的结果。等等,我只能用CSS回答。但它很难看。如果你没问题,请尝试如下。

在CSS中,您需要从

更改
ul.top_login li:hover ul {display:block;}

到这个

ul.top_login li span:hover ul {display:block;}

您需要更改HTML结构,如下所示。

 <ul class="top_login">
   <li><a href="<?php echo wp_logout_url( site_url() ); ?>" title="Logout">Logout</a> </li>
   <li><a style="color: #20dae6;"> <?php $user=wp_get_current_user(); echo "Hello  <span style='color:#464646'>".$user->user_login.?> 
      <ul class="profile_tab">
        <li><a href="<?php echo site_url(); ?>register-profile/">Edit Profile</a></li>
        <li><a href="<?php echo site_url(); ?>/manage-bookings/">Manage Subscriptions</a></li>
      </ul>
     </span></a> 
   </li>
  </ul>

DEMO

答案 1 :(得分:0)

您可以使用Jquery执行此操作,请参阅以下代码

$(document).ready(function(){
    $('.top_login li a span').hover(function(){
        $(".profile_tab").toggle();
        });
});

当您在用户名上hover时,它会显示menu profile_tab,当光标moves outmenuhide时,将使用{ {1}}和hover功能。

请在此处查看示例小提琴: SAMPLE

相关问题