0

我正在创建一个网站,并希望通过加载另一个我在 Photoshop 中创建的颜色稍有不同的图像/按钮来在我的按钮上添加悬停效果。

当我应用代码时,什么也没有发生。

这是我的代码:

CSS:

#main{
    position: relative;
    background-color:#ececec;
    height:900px;
    margin-top: 10px;
    margin-left: 10px;
    margin-right: 10px;

}


    #main .button2{

        position: absolute;
        left:0.5%;
        top: 71.5%;
        z-index:20;
        width:170px;
        height:40px;
    }
    #main .button2:hover{
        background-image : url(images/buttBootsRollover.png);  

    }

HTML:

<div id="main">
<article>


<section>
    <a href="#index.php" > <img src="images/buttGloves.png" class="button" /></a>
    <a href="#index.php" > <img src="images/buttBoots.png" class="button2" /></a>
    <a href="#index.php" > <img src="images/buttEqu.png" class="button3" /></a>
</section>

</article>

这是可能提供更好概述的图片: 在此处输入图像描述

最终我想在所有 9 个按钮上添加相同的悬停效果

4

4 回答 4

0

只要有一个背景图像并隐藏一点。

例如 - 像这里演示的那样加倍http://jsfiddle.net/edheal/Qb7YG

这是代码

CSS:

#wibble
{
    background-image: url(http://well-spun.co.uk/portfolio/technologies/images/rollover.png);
    background-position: left top;
    background-repeat: no-repeat;
    height: 14px;
    width: 200px;
}

#wibble:hover
{
    background-position: left -14px;
}

HTML:

<div id="wibble">
</div>

图像高 28 像素 - 仅显示上半部分或下半部分,具体取决于它是否悬停。

于 2013-03-07T02:32:39.227 回答
0

也许要实现你想要的,你需要帮助jquery

<div class="box">
    <a href="#index.php" > <img src="images/buttGloves.png" class="button" /></a>
    <div class="overlay">play me!</div>
</div>

<div class="box">
    <a href="#index.php" > <img src="images/buttBoots.png" class="button2" /></a>
<div class="overlay">play me!</div>
</div>

<div class="box">
    <a href="#index.php" > <img src="images/buttEqu.png" class="button3" /></a>
<div class="overlay">play me!</div>
</div>

jQuery

$(function(){
    $(".box").hover(function(){
      $(this).find(".overlay").fadeIn();
    }
                    ,function(){
                        $(this).find(".overlay").fadeOut();
                    }
                   );        
});

工作演示

于 2013-03-07T02:13:27.637 回答
0

你这样做的方式有点不对劲。您正在为包含图像的元素设置 background-image 属性,该图像(可能)占据了元素的整个空间。尝试使用它会让你自己头疼,所以与其解释为什么你会得到你现在的结果,我只想告诉你不要那样做,并给你一个解决方案:

摆脱 div 元素中的 img 元素。将 button2 类的 background-image 属性更改为您想要的默认图像。保持 .button2:hover 属性不变。

于 2013-03-07T01:37:40.437 回答
0

这就是你要找的。但我敢肯定,您至少没有在 Google 中尝试过。我建议你先学习一个简单的 CSS 教程。

#main{
    background-color:#ececec;
    height:500px;
    width: 600px;
    margin:0px auto;
}
.button{               
        z-index:1000;
        width:170px;
        height:40px;        
        display:block;
        background-repeat:no-repeat;
}  
#but_one{
    background-image : url(images/but_one.png);
} 
#but_two{
    background-image : url(images/but_two.png);
} 
#but_three{
    background-image : url(images/but_three.png);
} 
#but_one:hover{
    background-image : url(images/but_one_h.png);
} 
#but_two:hover{
    background-image : url(images/but_two_h.png);
} 
#but_three:hover{
    background-image : url(images/but_three_h.png);
} 

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link rel="stylesheet" type="text/css" href="main.css" />
        <title>hi css</title>
    </head>
    <body>
    <div id="main">
    <a href="index.php" ><img id="but_one" class="button" /></a>
    <a href="index.php" ><img id="but_two" class="button" /></a>
    <a href="index.php" ><img id="but_three" class="button" /></a>
    <div>
    </body>
 </html>
于 2013-03-07T01:49:04.237 回答