如果button在form表单内部,则可以不用JS绑定onclick属性就可以提交表单内容;
而如果不在form表单内部,又不考虑语义化,那么作为按钮,用div和button来写按钮似乎就没什么太多的区别,只存在一些外观上的细微区别。
button标签的外观如下:
下面分别对button和div进行同样的css修饰:
1 |
|
1 | *{ |
在外观上二者的形式如下:
似乎并没什么区别,但细微观察会发现,二者还是存在如下区别:
1.div的默认box-sizing属性为content-box,而button默认为border-box,因此div会比button看上去大一些;
2.button的cursor属性默认值类似于default,鼠标悬停在button上方为默认形式,而div的cursor则是text类型,并且div的user-select为text属性,即可以内部文本可以被选中,而button的默认为none,不可选中内部文本;
3.如果不给button设置background-color或border属性,则它存在一个默认的点击动画,鼠标点击时背景颜色或边框会动态变化以呈现出点击的动画效果,而div则不会。
4.但是如果给button设置了background-color和border属性,这些默认的点击动画将会消失。
转自: https://blog.csdn.net/hhthht8888/article/details/86553277