(完整 word 版)HTML 表单元素覆盖样式问题及其补救
HTML 表单元素覆盖样式元素问题及其补救之道
在设计 HTML 页面的过程中经常会遇到表单元素覆盖样式元素引起的问题,图一就是一个典型的例子。不要小看
这个貌似“低级”的问题,即使一些规模较大的网站上类似的问题也绝不鲜见。本文探讨了造成这一问题的根本
原因,并提出一种补救办法-—之所以说补救办法而不是一劳永逸的解决办法,是因为微软和 NetScape 这两个巨
头也还没有对策。
一、HTML 元素的显示优先级
HTML 中常用的表单元素包括:文本区域(TEXTAREA),列表框(SELECT),文本输入框(INPUT type=text),
密码输入框(INPUT type=password),单选输入框(INPUT type=radio),复选输入框(INPUT type=checkbox),
等等。常见的非表单元素包括:链接标记(A),DIV 标记,SPAN 标记,TABLE 标记,等等。表单元素覆盖样式元素
的根本原因在于 HTML 元素默认的显示优先级规则,例如:帧元素总是比其他 HTML 元素优先,因此也总是显示在
最前面;表单元素总是比所有非表单元素优先。
所有这些 HTML 元素又可以根据其显示要求分成两类,即有窗口的 HTML 元素(Windowed Element),无窗口
的 HTML 元素(Windowless Element)。有窗口的元素包括:SELECT 元素,OBJECT 元素,插件,IE 5。01 以及更早
版本中的 IFRAME 元素。无窗口的元素包括:大多数的普通 HTML 元素,如链接和 TABLE 标记,除了 SELECT 元素之
外的大多数表单元素,NS6+/IE 5.5 以及更高版本中的 IFRAME 元素。本文讨论的问题主要与有窗口的 HTML 元素有
关,问题的症结其实就在于操作系统默认总是把有窗口的元素显示在无窗口的元素前面。
二、浏览器类型与显示优先级
评论0
最新资源