【问题标题】:changing backgroundColor changes border改变背景颜色改变边框
【发布时间】:2011-04-16 10:50:42
【问题描述】:

在 IE7 中,单击下面的文本框会将边框更改为内嵌。
它在最新的 FireFox 中运行良好,但在 v3.0.10 中无法运行

<html>
<head></head>
<body>
   <input type="text" readonly="readonly" value="hello" onclick="this.style.backgroundColor='white';" />
</body>
</html>

奇怪的怪癖。
对于那些使用 IE8 的人,它是固定的吗?
我的解决方法是使用 this.style.border = "1px solid black;" 重置边框

【问题讨论】:

  • 你唯一的问题是IE8是否修复了这个错误?难道你不能找到一份IE8并测试它,或者使用browsershots.org
  • 我对它是否在 IE8 中修复感兴趣。不能真正安装它只是为了测试那个错误。我不认为你可以点击浏览器截图上的任何东西,它只是一个截图生成器。另外,我认为有相同问题的人可以找到并发表评论。

标签: javascript html background-color


【解决方案1】:

我测试过的浏览器:Opera 10.70、Firefox 3.6.9、IE 8.0 更改为 inset。 Webkit(Chrome 5.0.375.70 和 Safari 5.0.2)也会更改为 inset,但仅当要设置的颜色与当前颜色不同时。

每个浏览器都有不同的控件外观,我称之为默认外观。您可以自定义控件(例如更改其背景颜色),然后将其更改为我所说的可自定义外观。它将其属性更改为标准的,可通过 CSS 编辑,在每个浏览器上看起来都应该相同。可自定义的 input-type=text 的边框样式的默认属性是“inset”。

类似的机制会影响自定义滚动条。如果设置颜色,滚动条将是矩形的,因为只有这样才能着色。

【讨论】:

    猜你喜欢
    • 2021-05-28
    • 2017-09-21
    • 2012-04-02
    • 2019-01-05
    • 1970-01-01
    • 2013-07-20
    • 2015-05-23
    相关资源
    最近更新 更多