一句话概括主题:button>
具有input type="button" ... >
相同的作用但是在可操控性方面更加强大。
HTML 4.01规范的Forms部分指名表单有以下几种控制类型:buttons, checkboxes, radio buttons, menus, text input, file select, hidden controls, object controls. 其中除了buttons/menus/object controls之外,都是由input>
完成。
我这里说的是button>
和input>
。
button>
和input>
规范中指名:可以用button>
和input>
来做表单按扭。不同的按钮类型请参考这些元素的详细定义。要注意的是button>
比input>
支持更丰富的表现功能。
一些区别
大家都知道input>
可以这样用(实际上是一定要这样用):input type="submit" value="OK" />
,一定要这样闭合。而不是:input type="submit" value="OK" >/input>
。因为起始标签为必须,而关闭标签是禁止的。
button>
比input>
更厉害的地方就在于它可以包含内容。它的值并不是写在value
属性里,而是包含在标签中。如:button>OK/button>
。button>
的起始标签和关闭标签都是必须的。这样你便获得了样式化的主导权。
你可以这样写:button>strong>OK/strong>, I do./button>
,甚至是插入图片:button>img src="button.gif" alt="" />, it's great./button>
。有点类似于input type="image">
,但是显然强大多了。
最后要注意的是,被button>
包含的图片,不能使用热点地图,即不能img src="foo.gif" usemap="..." />
,这是不合法的。当然也不能再包含诸如input
, select
, textarea
, label
, button
, form
, fieldset
, iframe
,和isindex
(不推荐使用)元素了。