每次我点击激活/下拉我的下拉菜单的div时,链接都会突出显示:
相当讨厌。它是一个CSS或JQuery问题..我有一个.postHolder类,用于保存页面上发布的每个帖子。现在,如果我点击屏幕上的任何位置关闭菜单,然后再次单击菜单打开按钮,问题就消失了。如果我转到下一篇文章并尝试问题,直到我点击关闭然后再次点击。
如果我刷新浏览器问题又回来了,从第一篇文章开始。这很混乱,因为它在我的任何其他浏览器中都没有发生。
以下是菜单的CSS:
.postMenu {
position:absolute;
display:none;
padding-bottom:20px;
background-color:white !important;
border:1px solid $main-background-color;
height:163px;
width:170px;
top:18px;
right:2px;
-webkit-box-shadow: 0 10px 6px -6px #777;
-moz-box-shadow: 0 10px 6px -6px #777;
box-shadow: 0 10px 6px -6px #777;
color:gray;
z-index:3000;
li {
font-size:12px;
height:33px;
background-color:white !important;
a span {
float:left;
width:160px;
height:33px;
line-height:33px;
padding-left:10px;
color:gray;
&:hover {
background-color:#4D90FE !important;
color:white;
// #DD4B39,#D14836
}
}
&:hover {
background-color:#4D90FE;
color:white;
}
}
.deletePost {
//position:relative;
padding-top:0px !important;
padding-left:0px !important;
height:39px;
width:170px;
text-align:center;
padding-bottom:7px;
border-bottom:1px solid #d9d9d9;
a {
span {
float:left;
padding-left:0px !important;
height:46px !important;
width:170px !important;
line-height:46px;
}
}
a span:hover {
background-color:#DD4B39 !important;
color:white;
// #DD4B39,#D14836
}
}
.reportAbuse {
border-top:1px solid #d9d9d9;
a span:hover {
background-color:gray !important;;
}
}
}
JQuery包含这与JQuery相关:
$(".microposts").on("click", ".micropostOptions", function() {
var postMenu = $(this).find('.postMenu');
if(postMenu.is(':hidden') ){
$('.postMenu').hide();
$('.micropostOptions').removeClass("postMenuHoverState");
postMenu.show();
$(this).hide().addClass('postMenuHoverState').show(60);
}else{
postMenu.hide();
$(this).removeClass("postMenuHoverState");
}
$(document.body).click(function(e) {
var clickedElement = $(e.target);
if(clickedElement.is('.micropostOptions:visible')) {
return;
}
$('.postMenu').hide();
$('.micropostOptions').removeClass("postMenuHoverState");
});
});
HTML:
<nav class="micropostOptions">
<ul class="postMenu">
<li class="deletePost"><%= link_to content_tag(:span, "Delete post"), m, :method => :delete, :confirm => "Are you sure?", :title => m.content, :class => "message_delete" %>
</li>
<li class="disableCommenting"><%= link_to content_tag(:span, "Pause commenting"), "2" %></li>
<li class="blockCommenter"><%= link_to content_tag(:span, "Block commenter"), "3" %></li>
<li class="openInNewWindow"><%= link_to content_tag(:span, "Open in new window"), "4" %></li>
<li class="reportAbuse"><%= link_to content_tag(:span, "Report abuse"), "5" %></li>
</ul>
</nav>
亲切的问候
答案 0 :(得分:2)
&:hover {
background-color:#4D90FE;
假设下拉列表中的链接也在<li>
中,则此样式将被继承。
答案 1 :(得分:2)
你的css在悬停时设置背景颜色:
&:hover {
background-color:#4D90FE;
color:white;
}
a span {
color:gray;
}
会覆盖您为:hover
设置的颜色并将其设置为灰色。
答案 2 :(得分:1)
这解决了我现在的问题。好掩盖它。
span::-moz-selection {
background: none; /* Firefox */
}