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

Cha*_*adD 1 css asp.net

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

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

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

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

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

dcl*_*901 6

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

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

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

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

编辑:

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