【问题标题】:Does IE7 have a problem with some CSS attribute selectors?IE7 的某些 CSS 属性选择器有问题吗?
【发布时间】:2009-02-02 16:32:04
【问题描述】:

我正在尝试通过使用“for”属性选择某些表单标签来设置它们的样式。但是当我在 IE7 中预览它时,什么都没有被拾取。我这样做是因为我想给它们设置不同的样式,而不是添加到现有的标记中。

因此,如果我的 css 如下所示,我将一无所获:

<style>
 label[for="foo"] {
 background: blue;
 padding: 1em
}
</style>

<form>
 <label for="foo"/>bar</label>
 <input name="foo" type="text"/>
</form>

但是如果我把它改成这个,样式就可以了。

<style>
 label[fro="foo"] {
 background: blue;
 padding: 1em
}
</style>

<form>
 <label fro="foo"/>bar</label>
 <input name="foo" type="text"/>
</form>

你以前见过这种问题吗?我编写 CSS、IE7 或其他东西的方式有问题吗?

【问题讨论】:

  • 第二个例子似乎也不适合我。
  • 哇... IE 真是太该死了。我以前从未注意到这一点。
  • 我的错,当您使用文档类型时会这样。这非常奇怪。
  • 愚蠢的问题,但是,您使用的是有效的 DOCTYPE 吗?我之前在 IE7 中测试时遇到过这个问题,归结为我没有使用 DOCTYPE。
  • 公平的问题,还没有尝试过。当你说你以前有这个问题时,你有这个确切的问题吗?

标签: css xhtml layout internet-explorer-7


【解决方案1】:

此用户似乎遇到了与您相同的问题: here

他说因为“for”是保留字,所以不能作为属性名。但是 'htmlFor' 是与 for 属性关联的 DOM 属性名称

【讨论】:

  • 看来保留字可能是问题的根源;虽然还没有看到确凿的证据。
【解决方案2】:

标签与特定的输入字段配对,那么您有什么理由不能使用类而不是为此目的在您的 CSS 中创建大量选择器?

【讨论】:

  • 你能澄清一下你的意思吗?你的意思是我应该为每个标签元素添加特定的类?
  • 您会为每个标签使用不同的样式吗?如果是,那么您也可以使用 id ,但这并不比尝试您当前的方法更好。我的意思是,您可能会考虑类似地设置标签的样式,并为类似样式的标签使用类。
  • 是的,我想给它们设置不同的样式。我想要做的是避免使用额外的标记,尤其是当我所针对的所有浏览器理论上都应该支持这种选择器时。
  • 稍微切线,如果您的目标是完全一样的样式,那么通过继承选择元素(而不是类?)不是更容易吗?
  • 我同意你的观点 - 我认为我想要传达的观点是,按照方法中的建议为表单中的每个标签创建选择器似乎有点过头了您问过,并且可能有不同的故障安全方法。
猜你喜欢
  • 1970-01-01
  • 2017-05-01
  • 2013-07-28
  • 2014-11-30
  • 1970-01-01
  • 1970-01-01
  • 2012-09-11
  • 2011-02-18
  • 2014-09-21
相关资源
最近更新 更多