输入[type = submit] CSS在Internet Explorer 6中不起作用

时间:2009-08-20 10:50:27

标签: css

以下代码在Internet Explorer 6中无效。我无法将classid放入其中。那有什么CSS黑客吗?

此代码位于WordPress。我无法修改代码;我只能修改CSS。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <style type="text/css">
            form input[type=submit]{
                background-color:#FE9900;
                font-weight:bold;
                font-family:Arial,Helvetica,sans-serif;
                border:1px solid #000066;
            }
        </style>
        <title>Untitled Document</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>
        <FORM action="">
            <INPUT type=text name=s> 
            <INPUT type=submit value=Search>
        </FORM>
    </body>
</html>

3 个答案:

答案 0 :(得分:11)

相反,给输入一个类,然后从那里设置样式。像这样:

<input type="submit" class="myClass" value="Search" />

然后在CSS中设置.myClass的样式。这也适用于IE6。

答案 1 :(得分:5)

你是对的,它不起作用。

Quirksmode.org是一个出色的网站,提供浏览器兼容性信息:

http://www.quirksmode.org/css/contents.html

答案 2 :(得分:3)

Internet Explorer 6不支持attribute selector [attr="value"]。所以没有办法只用CSS来解决那个提交输入元素(IE 6不支持adjacence selector +:last-of-type selector这两种情况都不会有帮助。)

因此,您唯一的选择是通过添加类或ID或将其包装到其他span元素中来使该元素唯一可寻址。

或者 - 正如您已经声明的那样,您不能这样做 - 使用JavaScript来选择该元素并将CSS规则应用于它。 jQuery可以让这很容易:

$("form input[type=submit]").css({
    "background-color": "#FE9900",
    "font-weight": "bold",
    "font-family": "Arial,Helvetica,sans-serif",
    "border": "1px solid #000066"
});