【前端】HTML中最适合做按钮的元素
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/6405914.html
可选的可以做按钮的元素有如下几个
a、input、button、div(span等)
场景一:需要禁用此按钮
在此场景下可以排除a和div(span等)标签,因为想禁用和解禁它们真的非常困难。
场景二:需要在form里自定义执行事件
在form元素内,button默认是submit。
但是button也有type属性,默认值是submit,还有其他两个值是button和reset。如果设置成button,就是普通的按钮,不会在form里提交表单。
场景三:需要特殊的按钮内容,例如图片等
button支持图片和文字,但是在IE9及以下,$("button").val()和$("button").attr('value')都是返回标签之间的内容,而其他浏览器返回标签value属性的值。
input虽然只能设置一个value作为按钮文字,但是可以和label结合,也能放图片在里面。
根据以上场景来看,button和input是最适合做按钮的,在各种情况下都完美胜任。
而且从语义化的角度考虑,button也最适合做按钮。
综上所述,请使用button做按钮,但是需要标签的内容和value属性的值尽量保持一致。
注:很多人不用button做按钮是因为它自带默认样式,而且每个浏览器可能都不一样,懒得初始化所以用a标签这样的来做按钮。
可以用过下面的css来初始化button的样式
button { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-appearance: none; padding: 0; margin: 0; outline: none; border: none; border-radius: 0; background: transparent; }