如何仅对文本框应用css,但不对所有<input />类型(如CheckBoxes等)应用css?

时间:2010-05-03 15:28:59

标签: asp.net css

如果所有浏览器都支持属性选择器,我们可以轻松执行以下操作:

input[type='text'] { font:bold 0.8em 'courier new',courier,monospace; } 
input[type='radio'] { margin:0 20px; } 
input[type='checkbox'] { border:2px solid red;

但我不认为6及更高版本的所有IE版本都支持这一点。

我想我想避免皮肤。不知道为什么,除了我尝试过它们之外我还记得有过负面的体验。可能是我缺乏知识。使用和CSS,外部或其他方面是否有任何问题?

处理此问题的最佳方法是什么?目前,我正在为每种控件类型分配单独的类。

1 个答案:

答案 0 :(得分:6)

IE6不支持属性选择器是正确的。唯一的另一种方法是手动分配特定于复选框的类。不过,我也必须是个新手,因为我不知道你在谈论“使用皮肤”时所说的内容。

我会说最灵活的处理方式(如果你要兼容IE6)就是利用像jQuery这样的Javascript框架来为相关元素分配样式。使用选择器:

$('input[type="checkbox"]').each( function() {
    $(this).css({
        'property': 'value'
    });
});

您有一种跨浏览器兼容的方式,只能按类型灵活地将CSS分配给复选框。

编辑:

修正了初始编码错误。感谢默多克先生显然不是一杯咖啡。