【问题标题】:CSS: Get "disabled" input background color?CSS:获取“禁用”输入背景颜色?
【发布时间】:2012-04-27 21:08:24
【问题描述】:

是否有一种特殊的 CSS 系统颜色等效于系统禁用的文本输入背景颜色?我知道有一个用于禁用的 text 颜色 (GrayText),但我找不到一个用于 background 颜色的。

为了更清楚,我正在寻找当您执行以下操作时设置的背景颜色:

<input type="text" disabled />

我不想重新设置禁用输入的样式;我想在其他地方使用现有的系统样式。

编辑:

为了更清楚,我正在寻找系统颜色关键字,而不是实际颜色。例如,要使用系统定义的禁用 text 颜色,您可以这样做:

<span style="color: GrayText;">This text looks like disabled text in your operating system</span>

我只是找不到适合背景颜色的那个。

【问题讨论】:

  • 您是说您想知道该背景的​​特定十六进制颜色吗?
  • 如何使用 Firebug (getfirebug.com) 或 Chrome Inspector 来解决这个问题?
  • 不,我想要 CSS 中使用的系统颜色 name(如果有的话)。请参阅here 了解我浏览过的内容。我想知道我是否忽略了它,或者它是后来添加的,还是根本不存在。

标签: css


【解决方案1】:

我在尝试为选择设置 javascript 替换样式时遇到了这个问题。虽然 CSS 规范没有任何进展,但有一个 jQuery 替代方案。

$("input:disabled").css("background-color")

这会从已禁用的输入中返回 RGB 颜色,因此遗憾的是它不如 CSS 颜色灵活,但它可以跨浏览器工作,并对通过 CSS 应用于禁用元素的自定义颜色作出反应。

【讨论】:

  • 这似乎是现在最好的解决方案。即使您没有这样的禁用输入,您也可以创建一个 ($('&lt;input disabled&gt;')),附加到正文(因此评估 CSS),读取值并分离。也许还可以在附加之前将 display 设置为 none 以避免闪烁,但我不确定是否每个浏览器都会设置 background-color 如果它不可见。
【解决方案2】:

这不是关键字的目的 - 颜色的使用 [我相信] 在技术上取决于浏览器供应商 - 如果他们观察操作系统偏好,那么这取决于他们。

原来in the W3C spec有少量颜色名称。然而,这些被扩展为包括大多数浏览器供应商支持的X11 color names 列表。

这些列表是浏览器中可接受的所有有效名称。

【讨论】:

    【解决方案3】:

    根据最新的 CSS 规范,“禁用”背景颜色没有系统颜色关键字。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-02
      • 1970-01-01
      • 2021-03-07
      • 1970-01-01
      • 2021-04-10
      • 2011-03-19
      • 1970-01-01
      相关资源
      最近更新 更多