DHTML实例解析:用HTC统一定制表单样式

转载 2006年06月13日 16:11:00
在制作表单的时候,我们往往用CSS来重新定义表单元素(如输入框、按钮等)的样式,以便看起来更加美观。而表单中的很多不同元素(如输入框、提交按钮、单选框)使用的是一个标记--Input,这就意味着,我们在CSS中无法通过只定义Input标记来达到我们分别定义样式的目的。一般的做法是定义几种Class,在写表单的时候,不同的元素使用不同的Class。但是在表单较多的时候,这仍显得不是很方便。

  那么,有没有更省力的办法呢?答案是肯定的,一个简单的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文件中判断并定义的。

  这里,笔者做了一个例子供大家下载并学习使用:点此下载实例

  怎么样,我们是不是已经通过这样一个简单的实例初步领略到了HTC的魅力呢?

相关文章推荐

HTML5:定制表单

HTML5中存在多种不同的输入框和按钮,通过设置input元素的type属性来实现,除此之外,HTML5中还支持选择列表、多行输入框等,这些元素都有自己的用途和属性,下面一一介绍。单行文本输入框typ...

DHTML技术---前端用户提交信息验证和表单提交控制+完整表单验证代码实例

前端用户提交信息验证 前端和用户交互,对于用户提交的信息,一定是需要验证的。比如一个注册页面,要验证用户名是否非法、用户两次输入密码是否一致等。而且我们在验证的时候,最好是当用户输入完用户名就直接提...

Excel制表实例操作

  • 2012-11-21 08:49
  • 11.44MB
  • 下载

内部CSS统一定色和滤镜技术实例

CSS有两种方式,一个在HTML网页内部写的CSS 叫做内部CSS,还有一种在外部文件中的写的CSS 叫做外部 CSS。下面来演示一下内部CSS的写法.首先还是建立一个HTML网页。源代码如下 ...

HTC手册,用于DHTML框架

  • 2009-02-19 16:18
  • 193KB
  • 下载

IOS5基础之十一-----定制表视图单元

定制表视图单元格是为了处理单元格中有很多复杂的数据。 同样以Single View Application 创建一个new Project。 命名为Cells。 将向主视图中拖入 Table Vi...

定制表空间保留策略

在大型数据库中,回收站很大,垃圾很多,表空间查询起来特别慢。为了防止意外操作,不可能每次drop表的时候加上perge,这时候垃圾越来越多,查表空间要等很久。这时,定制一个表空间保留策略就显得非常有必...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)