输入类型=“按钮”的Css属性选择器不能在IE7上运行

时间:2010-02-02 16:10:41

标签: html css internet-explorer-7 css-selectors

我正在处理一个大表单,它在表单中包含很多按钮,因此我试图在我的主css文件中获得工作输入[type =“button”],这样它就可以捕获所有按钮必须为每一个添加一个类,由于某种原因,这不适用于IE7,在网上检查后它说IE7应该支持这个。

此外,它必须是type =“button”而不是type =“submit”,因为并非所有按钮都会提交表单。

有人能暗示我做错了吗?

input[type="button"] {
    text-align:center;
}

我也试过input[type=button]

8 个答案:

答案 0 :(得分:27)

我正在努力让input[type=button]选择器在IE7或IE8中工作。问题是HTML页面缺少“!DOCTYPE”声明。一旦我添加了

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

然后一切正常。显然,您可以使用不同的“!DOCTYPE”声明来满足您的要求。

答案 1 :(得分:8)

input[type="button"]{ text-align:center; }

您期望这样做?默认情况下,<input type="button">中的文字已经居中。

如果要在父级中对齐按钮本身,则必须在父元素上设置text-align,而不是按钮。

属性选择器 - 带或不带引号 - 可以在IE7上运行。 IE6是那里的问题浏览器。

答案 2 :(得分:3)

我在使用IE7中的css语句时没有遇到任何问题; IE6总是问题,但我相信这个CSS也可以在那里工作。所以我认为IE7不是问题所在。

首先,你的CSS示例只会影响按钮,它不会影响提交按钮。但这很容易解决;将你的CSS更改为:

input[type="submit"], input[Type="button"]
{ text-align: center; }

其次,正如Manolo Santos所说,你能否拥有另一个覆盖text-align设置的CSS声明?只是输入元素的设置?使用像Firebug这样的开发人员工具或Chrome或IE8中内置的开发人员组件来帮助找到CSS问题可能是值得的。

答案 3 :(得分:1)

遗憾的是,属性选择器尚未在所有主流浏览器中实现,因为它是CSS3而不是当前标准2.1。因为在W3C上的人不是那么快做出决定,你最好不要把你的希望设得太高,因为我们很快就无法使用css3。它的某些方面已经实现,但这个方面不是(肯定不是在IE6中)。

所以,正如你自己已经说过的那样,为你的所有输入提供一个类更好,并养成每次创建表单时这样做的习惯。当你已经编写表单时,它总是很方便而且不是很多工作。

当我创建表单时,我总是将输入的类型添加为类,例如:

特别是最后两个在很多情况下都会派上用场,因为你不必单独设置.button和.submit的样式,但如果你愿意的话,你可以这样做。

答案 4 :(得分:1)

他们在IE7中为我工作(两种形式,有和没有引号)。

也许有另一个选择器掩盖了你的选择器。您可以尝试使您的选择器更具体,以便更优先,例如:

body form input[type="button"] {
background: red;
}

答案 5 :(得分:1)

我很确定每个人都知道这样一个事实,即在标题中添加!DockType的解决方案不是一直存在的。

例如,我在DotNetNuke(DNN)环境中开发,开发人员无法访问标头。然后它几乎不可能添加!DocType。

在这种情况下,除了将CssClass与按钮相关联并明确地在CSS模块中引用它之外,您没有太多选项。

答案 6 :(得分:0)

这个问题很老但是如果有人有相关的问题..我花了几分钟试图解决一个类似的问题

输入[type =“Submit”]在IE7上不起作用(尽管IE正如我在开发工具中看到的那样正确地将样式分配给输入)。

解决方案:我从提交切换到提交,然后就可以了!

我在这里发布了这个,因为它可能会在调试时帮助某人。

答案 7 :(得分:0)

无论出于何种原因,有时在IE7中显示页面之前不会应用属性选择器。这实际上恰好发生在我身上。我的选择器是table[bgColor="#c0c0c0"],不适用于页面加载。由于我使用IE9(浏览器模式:IE7,文档模式:IE7标准),我能够使用F12开发人员工具来查看我的CSS文件。我取消选中选择器然后再次检查它。之后应用的属性。这完全可以在良好的'IE7中重现,所以我将不得不找到一个解决方法。 (注意:使用单引号,双引号或无引号也不使用大小写的变化会对此产生影响。)