在制作表单的时候,我们往往用css来重新定义表单元素(如输入框、按钮等)的样式,以便看起来更加美观。而表单中的很多不同元素(如输入框、提交按钮、单选框)使用的是一个标记--input,这就意味着,我们在css中无法通过只定义input标记来达到我们分别定义样式的目的。一般的做法是定义几种class,在写表单的时候,不同的元素使用不同的class。但是在表单较多的时候,这仍显得不是很方便。
那么,有没有更省力的办法呢?答案是肯定的,一个简单的htc就可以解决这个问题。
实例如下:
htc代码:
把上面这段代码保存成一个htc文件,比如保存成input.htc。
简单分析一下代码:事实上这仅仅是一段js,通过判断type(input是通过type属性判断是哪种表单域的,注意这里switch语句的使用)来决定使用什么样式。是不是很简单?
htc文件写好之后,接下来我们要用css的行为(behavior)来调用这个htc文件,调用的css语句如下:
input { behavior:url(input.htc) } /*这里假设input.htc与网页在同一目录下*/
我们看到,现在我们是定义了整个input标记的样式,而具体什么表单元素使用什么样式,则是通过js在htc文件中判断并定义的。
怎么样,我们是不是已经通过这样一个简单的实例初步领略到了htc的魅力呢?
