3

我观察到一个非常奇怪的问题,我无法完全理解这个问题。因此,我想请你们解释一下,CSS当我使用 jQuery 更改按钮的背景颜色时,我失去了按钮的默认值是怎么回事?

在 jsfiddle 中得到了演示FF(在和上进行了测试Chrome)。如果您将鼠标悬停在按钮上,它将失去其样式,例如没有圆形边框,这不是人们所期望的。你能解释一下为什么会这样吗?另外,您建议使用什么解决方法来保留默认的“CSS”设置?

4

3 回答 3

1

如果您在 css 中将按钮的背景颜色设置为开始,则将其设置为 jQuery 中的那种颜色,这样就可以了。

http://jsfiddle.net/899Wn/8/

button {
    background: blue;
}


$("#nav ul li button").hover(function() {
    $(this).stop().animate({
        backgroundColor: '#E5E5E5'
    }, 500);
}, function() {
    $(this).stop().animate({
        backgroundColor: 'blue'
    }, 500);
})
于 2013-02-08T14:29:11.443 回答
1

很快你就开始对表单元素进行风格化,即。< button href="#" > 标签,尤其是带有背景色或边框的标签,浏览器会重新渲染元素。然后,它会显示您的特定 .css 并且您会丢失“浏览器 + 软件 + os”的特定样式。

样式化表单控件介绍样式化表单控件详细信息

于 2013-02-08T14:30:45.573 回答
1

我相信页面上的默认按钮是系统生成的按钮(即 Windows)。更改任何具有视觉影响的样式都会导致您的浏览器呈现按钮,从而删除某些样式。一旦你到达这里,现在就回来了。最好的做法是将样式按钮向上看起来非常相似,然后您可以修改个别样式而不会丢失其余部分。类似的答案在这里:Chrome 默认按钮样式。我会看看我是否能找到更多关于这件事的信息。

编辑:

此页面上的第二个答案似乎支持了我的想法,尽管仍然没有参考:https ://stackoverflow.com/a/10265336/719718

于 2013-02-08T14:34:48.277 回答