【问题标题】:CSS: Remove shadows on disabled HTML buttonsCSS:删除禁用的 HTML 按钮上的阴影
【发布时间】:2012-02-04 17:20:42
【问题描述】:

禁用 HTML 按钮时,会在按钮文本中添加阴影。我自己设计按钮的样式,我希望只有一种颜色(白色)没有阴影,但我不知道如何有效地做到这一点。

我以前的方法是启用它并重新设置按钮的悬停 + 活动状态的样式,并忽略点击 vai Javascript。告诉你,效率不高!

http://jsfiddle.net/gLfMX/

编辑:显示阴影的图像(在 IE9 中查看)+ 缩放版本。

【问题讨论】:

    标签: html css button shadow


    【解决方案1】:

    您已经发布了自己的答案,但这里有更多信息。

    从我的实验中,我得出了相同的结论:在 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 启用此功能。

    【讨论】:

      【解决方案2】:

      添加border:none;以摆脱阴影jsfiddle

      【讨论】:

      • 谢谢,但我说的是按钮内文本上的阴影,而不是按钮边框。
      • 我只在IE 中看到这种影响,可能jQuerytext-shadow:none; 是一种解决方案。
      • @danferth:该问题仅针对 IE 8 和 9。注意 9。不是 10,不是 11。
      【解决方案3】:

      经过几个小时的摆弄,我得出的结论是,IE 无法做到这一点。

      由于我使用 jQuery 处理所有按钮点击,因此我将忽略任何应用了我的 CSS selected 属性的按钮。当然,它可能不是最优雅的解决方案,但它是跨浏览器的视图。

      感谢 Nicole 和 danferth 的帮助。

      【讨论】:

        【解决方案4】:

        这是一个如何去除按钮内文本阴影的示例。我试图消除菜单按钮上的阴影。

        在我的 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”

        【讨论】:

          【解决方案5】:

          这也有效:

          input[disabled] {
             border: none;
          }
          

          http://jsfiddle.net/gLfMX/2/

          这样您就可以专门针对禁用的输入,而不必担心干扰其他输入。

          【讨论】:

          • 谢谢,但我说的是按钮内文本上的阴影,而不是按钮边框。
          • hmmm,我在 Firefox 9 中没有看到任何文本阴影。如果您确实看到了,可以尝试使用上面的选择器 text-shadow: none;
          • 谢谢妮可。我已经编辑了帖子以显示阴影。文本阴影选择器似乎没有什么区别......
          • IE 无法识别文本阴影。我没有方便检查的 IE,但根据msdn.microsoft.com/en-us/library/ms533732%28v=vs.85%29.aspx 它“暗淡”了禁用的输入和按钮。您可以尝试声明颜色:#fff;因为 IE 实际上并没有隐藏它。
          猜你喜欢
          • 2022-01-21
          • 1970-01-01
          • 2015-03-08
          • 2016-11-23
          • 2016-08-17
          • 1970-01-01
          • 1970-01-01
          • 2015-04-28
          • 2022-01-01
          相关资源
          最近更新 更多