Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 背景色:继承不';t在IE 8/9/10上操作输入元素_Css_Internet Explorer_Internet Explorer 8 - Fatal编程技术网

Css 背景色:继承不';t在IE 8/9/10上操作输入元素

Css 背景色:继承不';t在IE 8/9/10上操作输入元素,css,internet-explorer,internet-explorer-8,Css,Internet Explorer,Internet Explorer 8,如果我有一个带有显式背景颜色集的div,其中有一个输入元素,背景颜色设置为“inherit”,那么它在Chrome、Firefox和Safari上可以正常工作,但在ie8、9或10上不能正常工作 下面是一个说明问题的简单示例: 文本框应具有相同的背景色。当您将鼠标悬停在div上时,div的背景颜色会改变,输入也会改变。当您点击输入时,会有一个:焦点规则覆盖继承。背景色:透明不是可以接受的解决方案吗?我能够通过使用以下CSS获得您想要的效果: div.container{ 利润率:50像素; 填充

如果我有一个带有显式背景颜色集的div,其中有一个输入元素,背景颜色设置为“inherit”,那么它在Chrome、Firefox和Safari上可以正常工作,但在ie8、9或10上不能正常工作

下面是一个说明问题的简单示例:


文本框应具有相同的背景色。当您将鼠标悬停在div上时,div的背景颜色会改变,输入也会改变。当您点击输入时,会有一个:焦点规则覆盖继承。

背景色:透明不是可以接受的解决方案吗?

我能够通过使用以下CSS获得您想要的效果:

div.container{
利润率:50像素;
填充:10px;
背景色:#aaa;
}
div.container输入{
背景色:透明;
边框宽度:0;
}
分区容器:悬停{
背景颜色:黄色;
}
div.container输入:焦点{
背景色:白色;
}
出于某种原因,IE10中带有background color属性的继承的实现方式似乎与其他浏览器不同

将背景色设置为
transparent
而不是
inherit
似乎有效

您可以在演示中看到结果:

我希望我能有一个更好的解释,但至少我们有一个解决办法

IE8的漏洞

我刚刚读到以下相关问题:

在输入字段上设置背景色:透明似乎会禁用IE8中的输入字段

在这种情况下,CSS必须是更明确的版本:

div.container{
利润率:50像素;
填充:10px;
背景色:#aaa;
}
div.container输入{
背景色:#aaa;
边框宽度:0;
}
分区容器:悬停{
背景颜色:黄色;
}
div.container:悬停输入{
背景颜色:黄色;
}
div.container输入:焦点{
背景色:白色;
}

添加一个
!重要信息
到您的规则属性:

input {
  background-color: inherit !important;
  border-width: 0;
}

这是一个好的!一个微妙的堆叠顺序跨浏览器问题…这已经够烦人的了。仅供参考,我在IE 11上也看到了这一点,但不在边缘。另一个突出问题的JSFIDLE: