定义和用法

<button> 标签定义一个按钮。
在 button 元素内部,您可以放置内容,比如文本或图像。这是该元素与使用 input 元素创建的按钮之间的不同之处。

  • <button> 控件 与 <input type="button"> 相比,提供了更为强大的功能和更丰富的内容。<button></button> 标签之间的所有内容都是按钮的内容,其中包括任何可接受的正文内容,比如文本或多媒体内容。例如,我们可以在按钮中包括一个图像和相关的文本,用它们在按钮中创建一个吸引人的标记图像。
  • 唯一禁止使用的元素是图像映射,因为它对鼠标和键盘敏感的动作会干扰表单按钮的行为。
  • 请始终为按钮规定 type 属性。Internet Explorer 的默认类型是 "button",而其他浏览器中(包括 W3C 规范)的默认值是 "submit"。


    <button>标签

图例

  • 从下图我们看出<button></button>和<button type="button"></button>的区别。


    给后台提交的值

自己的实验
通过network可看到各个按钮向后台提交数据的情况。

Paste_Image.png
  • 2和4是两个空按钮,1和3都会提交name: value的值到后台。
    (在Chrome浏览器下)

补充

  • 表单提交时,所有具有name属性的html输入元素(包括input标签、button标签、select标签等)都将作为键值对提交,除了Submit对象。Submit对象只有在自己被单击后的提交中才会作为键值对被提交。
  • 但是对于从事WEB UI的人应该要注意到,使用submit来提高页面易用性:使用submit后,页面支持键盘enter键操作,而很多WEB软件设计师,可能没有注意到submit, 用button后往往页面不支持enter键了。所以需要支持enter键,必须要设置个submit,默认enter键对页面第一个submit进行操作

总结

  • 估计学了js之后还会有更多补充。
  • <input type="button" />这就是一个按钮。如果你不写javascript 的话,按下去什么也不会发生。
  • <input type="submit" /> 这样的按钮用户点击之后会自动提交 form,除非你写了javascript 阻止它。
  • <button>这个按钮放在 form 中也会点击自动提交,比前两个的优点是按钮的内容不光可以有文字,还可以有图片等多媒体内容。(当然,前两个用图片背景也可以做到)。它的缺点是不同的浏览器得到的 value 值不同;可能还有其他的浏览器兼容问题。
  • 其他标签,例如 a, img, span, div,然后用图片把它伪装成一个按钮。(这个按钮和<input type="button" />类同)
    洪雷链接:https://www.zhihu.com/question/20839977/answer/16354924
    button标签
    button和<input type="button">