转载请注明出处: http://qiudeqing.com/html5/2015/06/29/difference-between-anchor-input-and-button.html

原文链接: http://davidwalsh.name/html5-buttons

使用CSS和JavaScript可以让三种元素生成的内容样式和行为完全一致。他们的区别是什么,什么时候用什么?

语义(Semantics)

Anchors

Anchor(<a>)表示超链接,通常表示导航和下载功能,如果需要用户导航到其他页面或者触发下载,应该使用它。

Inputs

Input(<input>)表示一个数据域,通过type属性高数浏览器它包含的数据。以下是与按钮相关的五种类型:

### Buttons

<button>元素表示一个按钮, 比input更容易控制样式.button的label由内容决定. 可以在button里面嵌套图像,段落或者标题. button可以包含::before::after伪元素.

和input元素一样button有type属性,可以取值为submit,reset或者button并且与input对应类型有同样的行为.默认行为是submit

input和button一个有用的功能是支持disabled属性.这样就很方便开关它们, 链接没有这个功能

应该如何选择呢?