【发布时间】:2012-02-04 17:20:42
【问题描述】:
禁用 HTML 按钮时,会在按钮文本中添加阴影。我自己设计按钮的样式,我希望只有一种颜色(白色)没有阴影,但我不知道如何有效地做到这一点。
我以前的方法是启用它并重新设置按钮的悬停 + 活动状态的样式,并忽略点击 vai Javascript。告诉你,效率不高!
编辑:显示阴影的图像(在 IE9 中查看)+ 缩放版本。
【问题讨论】:
禁用 HTML 按钮时,会在按钮文本中添加阴影。我自己设计按钮的样式,我希望只有一种颜色(白色)没有阴影,但我不知道如何有效地做到这一点。
我以前的方法是启用它并重新设置按钮的悬停 + 活动状态的样式,并忽略点击 vai Javascript。告诉你,效率不高!
编辑:显示阴影的图像(在 IE9 中查看)+ 缩放版本。
【问题讨论】:
您已经发布了自己的答案,但这里有更多信息。
从我的实验中,我得出了相同的结论:在 IE 上,您无法从 CSS 中更改它。原因如下。
禁用按钮的颜色取决于 Windows 配置为显示的 for the "3D Objects" item in "Window Color and Appearance"(在显示设置下)。
禁用按钮的默认颜色为:文本 = A0A0A0,阴影 = 白色。如果用户更改默认设置,它们可能会有所不同(在 Windows 7 中,您必须进入“高级设置”才能做到这一点),但几乎每个人都会拥有这些。它们被设计成适合禁用按钮的系统默认背景颜色,即F4F4F4。
我对这个问题的解决方案是设计 CSS,以便至少在默认设置下,在 IE 下禁用按钮看起来不错 - 最好的方法是将禁用时的背景设置为 F4F4F4:
button[disabled], a[disabled] {
background-color: #f4f4f4;
}
如果你像我一样使用Bootstrap,你应该这样做:
.btn[disabled], .btn.disabled[disabled] {
background-color: #f4f4f4;
}
您还可以添加一些条件选择器以仅对 IE 启用此功能。
【讨论】:
添加border:none;以摆脱阴影jsfiddle
【讨论】:
IE 中看到这种影响,可能jQuery 和text-shadow:none; 是一种解决方案。
经过几个小时的摆弄,我得出的结论是,IE 无法做到这一点。
由于我使用 jQuery 处理所有按钮点击,因此我将忽略任何应用了我的 CSS selected 属性的按钮。当然,它可能不是最优雅的解决方案,但它是跨浏览器的视图。
感谢 Nicole 和 danferth 的帮助。
【讨论】:
这是一个如何去除按钮内文本阴影的示例。我试图消除菜单按钮上的阴影。
在我的 CSS 顶部菜单样式之后,我寻找了我的常规菜单样式。 无论您何时首先看到“文本阴影”样式,问题就在于此。 我在这里找到了我的:
#menu a{display:block;line-height:35px;padding:0 14px;text-decoration:none;color:
#77778b;font-family:'Oswald', Arial, sans-serif;text-shadow:none;}
我的文本阴影设置为#FFFFFF,并应用了一些定位。 我只是删除了这个样式和 bam,我的按钮上不再有阴影。
只需在菜单 CSS 中首先应用“text-shadow”并将其设置为“text-shadow:none”
【讨论】:
【讨论】: