主要是原生的button长得不好看,而且不同的浏览器显示和行为还不一样,比如某个版本的IE会提交button之间的文本,在加上移动端的显示和诡异行为,更让人受不了。曾经“流行”过一段时间,整个网站只用div标签的夸张说法。
就偶个人习惯而言,偶倒不是用div模拟按钮,而是用a标签的多,源自于很早之前写过一个框架,内部将a标签作为特殊标签进行点击事件捕获。有一种情况会例外,还是用button,那就是需要回车提交表单的情况,一般还是用form+button[type=”submit”],当然有时候会将button隐藏。表单中使用时,也是建议使用input代替button,而不是直接使用button。
只是CSS3之后,改写原生标签样式也变得容易,如图所示:
再加上现在主流的UI组件库,都会提供Button这一基础组件,已经没多少人关心他底层是通过什么标签模拟的了。