在hover css上淡化按钮的背景颜色

时间:2015-01-29 17:28:50

标签: jquery html css css3

我试图将按钮的背景颜色从蓝色淡化为白色,并将字体颜色从白色淡化为蓝色。我检查了其他帖子。

这是我的小提琴: http://jsfiddle.net/t533wbuy/1/

我用这个小提琴作为参考: http://jsfiddle.net/visualdecree/SvjHx/

我的问题是:

  • 我希望它是一个A按钮而不是利用ul>李。
  • 悬停时字体颜色不会变为白色。

的CSS

.menuitem{
width: 200px;
height:30px;
background-color: #005abb;
font-size:16px;font-family: 'gotham_htfbold';-webkit-border-radius: 15px;
-moz-border-radius: 15px;
border-radius: 15px;
}

.menuitem a{
width: 200px;
height: 30px;
height: auto;
display: block;
position: relative;
color: #FFF;
text-align: center;
z-index: 9999;

}

.menu-item-span{
display: none;
width: 200px;
height: 30px;
background-color: #fff;
bottom: 0;
left: 0;
position: absolute;
right: 0;
top: 0;
color:#005abb;
z-index: -999;
-webkit-border-radius: 15px;
-moz-border-radius: 15px;
 border-radius: 15px;
 }

HTML       

          
            点击这里申请                     
               

jquery的

$(function() {
$(".menuitem").find("class")
.hide() // Finds span hide.
.end() // After find stop.
.hover(function() { // On hover find and fadein then fadeout
$(this).find("span").stop(true, true).fadeIn();
 }, function() {
$(this).find("span").stop(true, true).fadeOut();
});
});

2 个答案:

答案 0 :(得分:7)

为什么不选择纯CSS?

a {
  transition: all .4s ease;
  padding: 12px 28px;
  border-radius: 18px;
}
a {
  background-color: blue;
  color: #fff;
}
a:hover {
  background-color: grey;
  color: #000;
}
<a href="#">BUTTON</a>

答案 1 :(得分:1)

正如@Aaron和@ user1447679所提到的,在这种情况下的最佳做法是使用纯css,但如果你说你真的想在css中这样做,你可以使用mouseentermouseleave个事件使用jQuery的color方法更改元素的background-color.css()

$(function() {
    $("#lnk-1").on('mouseover',function() { 
        $(this).css('background-color','black').css('color','white'); 
    })
    .on('mouseleave',function(){
        $(this).css('background-color','blue').css('color','black'); 
    });
});

以下是有关如何操作的简单演示:http://jsfiddle.net/t533wbuy/4/