我有一个简单的形式,如下所示:
<section class="subscribe" title='Lorem Ipsum'>
<form class="form-wrapper cf" method="post">
<input class="tiptipNewsletterInfo" id="emailInputText" name="email" placeholder="Enter your email here..." />
<button class="showforDesktopsOnly" id="submitBtnForDesktop" type="submit">Subscribe</button>
</form>
</section>
现在,我想更改鼠标悬停在提交按钮上时显示的背景图像。为此,我尝试使用以下CSS,但它不起作用:
.form-wrapper #submitBtnForDesktop {
background: url("http://i.imgur.com/ANkUR4e.png") no-repeat 0 0 transparent;
transition: background-image 0.5s;
}
.form-wrapper #submitBtnForDesktop:hover {
background: url("http://i.imgur.com/ANkUR4e.png") no-repeat 0 -28px transparent;
}
我目前正在其他地方使用 transition: background-image 0.5s;
在鼠标悬停时更改其他背景图像,但在这种情况下它不起作用。
有人知道为什么吗?
JSFiddle: http://jsfiddle.net/ahmadka/49nzM/
css3 过渡仅适用于数字和(在某些浏览器中)颜色十六进制值,但不适用于您尝试执行的图像背景
要实现您想要的"从一个图像淡入另一个图像",您需要更改您的 html&css;
.html
....
<button class="showforDesktopsOnly" id="submitBtnForDesktop" type="submit">
<div class="hax"></div>
Subscribe
</button>
....
.css
....
#submitBtnForDesktop .hax{
width:100%;
height:100%;
background: url("http://i.imgur.com/ANkUR4e.png") no-repeat 0 0 transparent;
transition: opacity 0.5s;
opacity:1
}
#submitBtnForDesktop:hover .hax{
opacity:0
}
....