那么,有没有更省力的办法呢?答案是肯定的,一个简单的HTC就可以解决这个问题。
实例如下:
htc代码:
<script language=javascript>
switch(type)
{
case 'text':
case 'passWord': //文本输入框和密码输入框的样式
style.border="1px solid #000000";
style.backgroundColor="#FFFFFF";
style.height="18px";
style.font="normal 12px 宋体";
style.color="#000000";
break;
case 'submit':
case 'reset':
case 'button': //按钮类的样式(不包括图片按钮)
style.border="1px solid #000000";
style.backgroundColor="#CCCCCC";
style.height="18px";
style.font="normal 12px 宋体";
style.color="#000000";
break;
default: ; //对于象单选框多选框等上面没有出现过的元素,我们使用默认样式。
}
</script>
把上面这段代码保存成一个HTC文件,比如保存成input.htc。
简单分析一下代码:事实上这仅仅是一段JS,通过判断type(Input是通过type属性判断是哪种表单域的,注意这里switch语句的使用)来决定使用什么样式。是不是很简单?
HTC文件写好之后,接下来我们要用CSS的行为(behavior)来调用这个HTC文件,调用的CSS语句如下:
input { behavior:url('input.htc') } /*这里假设input.htc与网页在同一目录下*/
我们看到,现在我们是定义了整个Input标记的样式,而具体什么表单元素使用什么样式,则是通过JS在HTC文件中判断并定义的。