我想通过悬停按钮来更改div的背景图像。这是我的关键:
.content-portfolio {
background-image: url(../files/portfolio/event.jpg) no-repeat;
}
#event-button a:hover{
}
我真的不知道怎么做,我希望你能帮助我!
祝你好运!
答案 0 :(得分:2)
用css做很难。你可能可以用一些javascript来做到这一点。但是,如果你的div是按钮的直接兄弟(两者之间没有其他元素),我找到了一种方法来做你想要的。
代码如下所示:
HTML
<input type="button" id="btn" value="Click me !" />
<div id="testDiv">
<p>Some content</p>
</div>
CSS
#btn:hover + #testDiv {
background-color: red;
}
#testDiv {
border-style: solid;
width: 200px;
height: 200px;
}
运算符“+”或“〜”将css应用于下一个兄弟元素。 这是一个显示技巧的JS Fiddle。
如果您只删除“+”,它会将css应用于左侧元素的后代/子级。有关详细信息,请查看this page。
答案 1 :(得分:0)
我认为您希望在.content-portfolio
右侧悬停时更改event-button
的背景信息?您可以通过按下id
而不是class
来实现正确,但无法影响css selectors
的其他元素,如果他们&# 39;在某种程度上没有关系。或者,如果他们有ID而不是类,则更容易影响其他元素,特别是如果他们没有任何类型的层次结构。您需要使用javascript
解决方案(fiddle here):
<强> HTML 强>:
<a href="javascript:img()">
<div id="EventButton">Click me to change the bg</div>
</a>
<div id="ContentPortfolio">I'm the content</div>
<强> CSS 强>:
#ContentPortfolio {
width: 200px;
height: 100px;
background: red;
}
#EventButton {
width: 100px;
height: 50px;
border: 1px solid grey;
}
<强>的Javascript 强>:
function img() {
if (ContentPortfolio.style.backgroundImage == 'url(http://goo.gl/PMqslv)') {
ContentPortfolio.style.backgroundImage = 'url(http://goo.gl/AJm0rS)';
} else {
ContentPortfolio.style.backgroundImage = 'url(http://goo.gl/PMqslv)';
}
return false;
}
在这种方法中,我更改了您的ID名称,因此我可以直接引用它们,而不是使用document.getElementById
,但如果您的名称包含短划线-
或者这不起作用你的浏览器,你应该使用前面提到的功能。
答案 2 :(得分:-1)
也许您想要更改.content-portfolio
的背景图片,这是这样做的方法:
.content-portfolio:hover {
background-image: url(../files/portfolio/event.jpg) no-repeat;
}
答案 3 :(得分:-1)
试试这个
.content-portfolio{width:400px; height:400px; background:url(http://somdow.com/images/sitePortThumbs/saia-sushi-ft-lauderdale-sushi-bar.jpg);}
.content-portfolio:hover{width:400px; height:400px; background:url(http://somdow.com/images/sitePortThumbs/2882films-video-production.png);}
PS:这是小提琴[http://jsfiddle.net/somdow/d2Yf9/] ,图片来自我自己的网站,显然只是将网址更改为您自己的网址。
编辑:基本上,从我添加的代码中,你不需要任何代码,你需要做的就是你做的一样,只需更改悬停上的url就可以了。
答案 4 :(得分:-2)
你可以这样做(你需要jquery):
HTML
<body>
<button id="button" >Change Background</button>
<div class="content-portfolio">your content</div>
</body>
CSS
.content-portfolio{
background-image: url('path/to/your/image.jpg') no-repeat;
}
JS
$(document).on('mouseenter','#button',function(){
$('.content-portfolio').css('background','path/to/your/image.jpg');
});
$(document).on('mouseout','#button',function(){
$('.content-portfolio').css('background','path/to/your/otherimage.jpg');
});
此外,您可以创建两个具有不同背景的类,并且可以通过jquery
添加或删除类答案 5 :(得分:-2)
你需要jQuery。
创建两个类并向按钮添加两个jquery方法。一个带有悬停图像的css类和另一个没有。
的类的jQuery
$(document).ready(function() {
$("#your-button").on("mouseover", function(){
$("#content-portfolio").toggleClass("back2");
}).on("mouseout", function(){
$("#content-portfolio").toggleClass("back2");
});
});
CSS
.back1 {
background-image: url(../files/portfolio/event.jpg) no-repeat;
}
.back2 {
background-image: url(../files/portfolio/event2.jpg) no-repeat;
}