在IE6中无法输入输入字段,为什么?

时间:2010-05-24 19:10:41

标签: html css forms xhtml

我知道,我知道IE6对吗?好吧,无论争论多么强烈 - 我现在都要取悦IE6。

我有一个文本输入字段。我要设计它的字体和背景颜色。但我无法让IE6显示我正在改变的变化。在这里;是我的标记和css。

<style>
    input[readonly='readonly'], input.readonly {
    color:red !important;
    background:#EBEBE4 !important;
    border:solid 1px #7F9DB9 !important;
    cursor:default;
}
</style>

这是我的表格。

<form name="mainform" method="post" action="/link.aspx" id="mainform">
  <div class="section">
      <label for="shipFirstName">First Name:<abbr title="Required field">*</abbr></label>
      <input type="text" name="shipFirstName" id="shipFirstName" value="Rich" readonly='readonly' class='readonly' maxlength="13" />
      <label for="shipFirstName">Last Name:<abbr title="Required field">*</abbr></label>
      <input type="text" name="shipLastName" id="shipLastName" value="Sturim" readonly='readonly' class='readonly' maxlength="26" />
  </div>
</form>

我知道问题在于选择器

input[readonly='readonly'], input.readonly

但是我不知道我要做些什么才能让IE6识别“readonly”类。

有什么想法吗?

4 个答案:

答案 0 :(得分:4)

IE6被input[readonly='readonly']选择器搞糊涂了,并将整个规则视为语法错误。您必须创建两个不同的规则才能使其正常工作:

<style>
    input[readonly='readonly'] {
    color:red !important;
    background:#EBEBE4 !important;
    border:solid 1px #7F9DB9 !important;
    cursor:default;
}
    input.readonly {
    color:red !important;
    background:#EBEBE4 !important;
    border:solid 1px #7F9DB9 !important;
    cursor:default;
}
</style>

答案 1 :(得分:1)

尝试使用

input[readonly] {
    // stuff
}

答案 2 :(得分:0)

Attribute selectors don't work in IE6.但是,如果使用jQuery,它会抽象出属性选择的概念。

$('input[readonly="readonly"]').addClass('...')可行。

答案 3 :(得分:0)

IE6不支持属性选择器,我认为你只需要摆脱input[readonly='readonly'],这可能会解决你的问题。

2个替代解决方案:

  • 为您的input添加一个类属性(就像您一样)
  • 使用Javascript。