【问题标题】:How to style <input type="text"> in IE6 CSS?如何在 IE6 CSS 中设置 <input type="text"> 样式?
【发布时间】:2010-08-07 08:36:57
【问题描述】:

有没有什么优雅的方法可以在 IE6 下对所有 &lt;input type="text"&gt; 元素应用某种样式?我可以用一些 JavaScript 来做到这一点,但我想知道是否有更优雅的方式来做到这一点。

注意 - 我不能手动将某个类应用于所有文本框。我想avoid CSS expressions

【问题讨论】:

    标签: css internet-explorer-6 css-selectors


    【解决方案1】:

    AFAIK,IE6 不支持attribute selectors,所以我认为答案是否定的。您必须使用以下方法之一:

    1. 为所有&lt;input type="text"/&gt; 元素添加一个通用类属性。
    2. 按照您的建议使用 JavaScript。

    您想避免这两种情况。太糟糕了。

    【讨论】:

    • jQuery 可以让 javascript 样式化变得不那么痛苦,因为它支持与 CSS 非常相似的选择过滤器
    • @Alertis:是的,但它仍然是 javascript。
    • 这是一个内部使用的 Web 应用程序,无论如何都严重依赖于 JavaScript。使用它进行造型是没有问题的。我只是想知道是否有更好的方法。
    • 你也可以使用 IE css 表达式,例如:input { _color: expression(this.type=='text' ? 'red' : 'blue'); }
    【解决方案2】:

    如果您碰巧在使用 jQuery,请尝试将其添加到您的 onDOMready:

    $('input[type="text"]').addClass('typeText');
    

    然后在你的 CSS 中你可以这样:

    input.typeText, input[type="text"] {
         color:#efefef;
    }
    

    【讨论】:

      【解决方案3】:

      您是否还有其他希望与“文本”元素样式不同的输入元素?如果没有,只需使用 CSS 将样式应用于所有输入元素:

      input {
      border: 1px #8194b2 solid;
      font : normal 100% "Tahoma", sans-serif;
      }
      

      【讨论】:

      • 不幸的是,我确实希望不影响其他 类型。我将更改诸如高度和背景颜色之类的内容,因此它会在复选框上反映出来非常讨厌。
      • 确实如此。由于您仅将 javascript 用于一些次要样式,因此我认为您可以证明使用它是合理的。它不会影响没有javascript的少数人的功能。
      【解决方案4】:

      在你的输入元素上放置一个类属性对你有用吗?

      输入.文本{

      //这里有一些CSS属性和值....

      }

      • 可能比 JS 更优雅

      【讨论】:

        猜你喜欢
        • 2013-04-27
        • 2011-09-20
        • 1970-01-01
        • 1970-01-01
        • 2010-10-09
        • 1970-01-01
        • 2011-04-06
        相关资源
        最近更新 更多