一句話概括主題: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(不推薦使用)元素了。