更改<div>悬停时的背景图像

时间:2017-02-03 13:22:46

标签: html css

所以,让我说我的身体标签上有黑/白背景图像,我想让它在悬停时切换到城市天际线的背景图像图像div id =&#34; 1&#34;,以及在晚上悬停在div id =&#34; 2&#34;上时相同天际线的背景图像。我该怎么做呢?

我已经为此编写了一些html / css,以及“体面的&#39; python知识,但没有使用javascript等脚本语言的经验。我不想复制大段代码,因为我是新手,想要学习。

这是我到目前为止所拥有的:

/*css*/

#bg{background:url('a');
}

#header{
  position:absolute;
  border:double 30pt;
  width:95%;
  height:15%;
}

#header img{height:120px;
}

#header img:hover{
  transform: rotate(-10deg);
}

#allies{
  border:double 30pt;
  position:relative;
  width:45%;
  top:250px;

}

#allies:hover ~ #bg{background:url('b');
}

#enemies{
  border:double 30pt;
  position:relative;
  width:45%;
  /*top:55px;*/
  top:-67px;
  left:967px;
}

#enemies:hover ~ #bg{background:url('c')
}

div img{
  width:120px;
  height:100px;
  display:block;
  margin-left:auto;
  margin-right:auto;
  padding-top:10px;
  padding-bottom:5px;
}


<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>AE</title>
    <link href="AE.css" rel="stylesheet" type="text/css">
  </head>
  <body id="bg">
    <div id="header">
      <a href="index.htm">
        <img src="http://www.iconsdb.com/icons/preview/black/home-5-xxl.png">
      </a>
    </div>
    <div id="allies">
        <img src="http://fontmeme.com/permalink/170203/949c0c2c2c0c34c044b9b45585717a70.png">
        <ul>
          <li></li>
          <li></li>
          <li></li>
          <li></li>
          <li></li>
        </ul>
    </div>
    <div id="enemies">
        <img src="http://fontmeme.com/permalink/170203/e8d4db59e876e5c94bd8f072137e33e2.png">
        <ul>
          <li></li>
          <li></li>
          <li></li>
          <li></li>
          <li></li>
        </ul>
    </div>
  </body>
</html>

2 个答案:

答案 0 :(得分:1)

我得到了你想要的东西,使用Jquery:

Jquery:

$( "#allies" ).hover(function() {
    $('body').css("background", "url(https://cdn.pixabay.com/photo/2013/04/14/20/24/water-103817_960_720.jpg");
});

$( "#enemies" ).hover(function() {
    $('body').css("background", "url(http://weknowyourdreams.com/images/fire/fire-02.jpg");
});

Fiddle here

答案 1 :(得分:0)

你无法通过css实现这一目标。使用jQuery hover()函数。在函数内部,你可以使用你在css文件中定义的css()函数或(更好)addClass()/ removeClass()。 https://api.jquery.com/hover/

JS:

$('#allies').hover(function() {
    $('#bg').addClass('newBg1');
}, function() {
    $('#bg').removeClass('newBg1');
});
$('#enemies').hover(function() {
    $('#bg').addClass('newBg2');
}, function() {
    $('#bg').removeClass('newBg2');
});

的CSS:

.newBg1 {
    background-image: #your url;
}
.newBg2 {
    background-image: #your url;
}