【问题标题】:Using input[type="text"] with other selectors将 input[type="text"] 与其他选择器一起使用
【发布时间】:2010-08-12 00:02:07
【问题描述】:

我为文本字段定义了一个类。我为除 IE6 之外的所有浏览器使用 input[type="text"],并使用 jQuery 为 IE6 添加“.txt”类名。这里的问题是当我在同一行定义两个选择器时,IE6 不会重新调整“.txt”类。但是,如果我使用相同的规则分别定义每个选择器,它就可以工作。

这在 IE6 中不起作用

input[type="text"], .txt{ float:left; padding:0 0 0 2px; width:233px; height:24px; border:2px solid #bbb; color:#616161; font-family:Arial, Helvetica, sans-serif; font-size:1em; }

这在 IE6 中确实有效

input[type="text"]{ float:left; padding:0 0 0 2px; width:233px; height:24px; border:2px solid #bbb; color:#616161; font-family:Arial, Helvetica, sans-serif; font-size:1em; }
.txt{ float:left; padding:0 0 0 2px; width:233px; height:24px; border:2px solid #bbb; color:#616161; font-family:Arial, Helvetica, sans-serif; font-size:1em; }

如何为同一行上的两个选择器定义一个规则?

谢谢!

【问题讨论】:

  • 你能做一个 jsfiddle 吗?

标签: css internet-explorer-6


【解决方案1】:

IE6 在遇到无法识别的input[type="text"] 时停止。不幸的是,您必须单独进行。

【讨论】:

  • 谢谢梅德,我就是这么想的。我试图避免为 IE6 使用单独的样式表,但这确实解决了这个问题,因为属性选择器没有在类名之前定义。谢谢乔纳森!
【解决方案2】:

您可以使用条件 cmets 来加载特殊样式表。例如

<!--[if lt IE 7 ]> 
  <link media="all" type="text/css" rel="stylesheet" href="ie6.css"> 
<![endif]-->

这还允许您解决许多特定于 IE6 的问题,而不会弄乱您的其余样式表

http://msdn.microsoft.com/en-us/library/ms537512%28VS.85%29.aspxhttp://blogs.msdn.com/b/ie/archive/2005/10/12/480242.aspx

【讨论】:

    【解决方案3】:

    由于 IE6 不识别或不支持属性选择器,它会跳过整个规则并转到下一个规则。你必须使它成为两个单独的规则。或者只是依赖两者中的txt 类。

    【讨论】:

      【解决方案4】:

      您可以使用http://jsfiddle.net/ 来尝试这些事情。

      【讨论】:

        猜你喜欢
        • 2013-07-07
        • 1970-01-01
        • 1970-01-01
        • 2018-08-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-04
        • 2013-06-28
        相关资源
        最近更新 更多