【发布时间】:2010-08-07 08:36:57
【问题描述】:
有没有什么优雅的方法可以在 IE6 下对所有 <input type="text"> 元素应用某种样式?我可以用一些 JavaScript 来做到这一点,但我想知道是否有更优雅的方式来做到这一点。
注意 - 我不能手动将某个类应用于所有文本框。我想avoid CSS expressions。
【问题讨论】:
标签: css internet-explorer-6 css-selectors
有没有什么优雅的方法可以在 IE6 下对所有 <input type="text"> 元素应用某种样式?我可以用一些 JavaScript 来做到这一点,但我想知道是否有更优雅的方式来做到这一点。
注意 - 我不能手动将某个类应用于所有文本框。我想avoid CSS expressions。
【问题讨论】:
标签: css internet-explorer-6 css-selectors
AFAIK,IE6 不支持attribute selectors,所以我认为答案是否定的。您必须使用以下方法之一:
<input type="text"/> 元素添加一个通用类属性。您想避免这两种情况。太糟糕了。
【讨论】:
input { _color: expression(this.type=='text' ? 'red' : 'blue'); }
如果您碰巧在使用 jQuery,请尝试将其添加到您的 onDOMready:
$('input[type="text"]').addClass('typeText');
然后在你的 CSS 中你可以这样:
input.typeText, input[type="text"] {
color:#efefef;
}
【讨论】:
您是否还有其他希望与“文本”元素样式不同的输入元素?如果没有,只需使用 CSS 将样式应用于所有输入元素:
input {
border: 1px #8194b2 solid;
font : normal 100% "Tahoma", sans-serif;
}
【讨论】:
在你的输入元素上放置一个类属性对你有用吗?
输入.文本{
//这里有一些CSS属性和值....
}
【讨论】: