為什么有些前端一直用div當(dāng)按鈕?
主要是原生的button長得不好看,而且不同的瀏覽器顯示和行為還不一樣,比如某個版本的IE會提交button之間的文本,在加上移動端的顯示和詭異行為,更讓人受不了。曾經(jīng)“流行”過一段時間,整個網(wǎng)站只用div標(biāo)簽的夸張說法。
就我個人習(xí)慣而言,我倒不是用div模擬按鈕,而是用a標(biāo)簽的多,源自于很早之前寫過一個框架,內(nèi)部將a標(biāo)簽作為特殊標(biāo)簽進(jìn)行點擊事件捕獲。有一種情況會例外,還是用button,那就是需要回車提交表單的情況,一般還是用form+button[type="submit"],當(dāng)然有時候會將button隱藏。表單中使用時,也是建議使用input代替button,而不是直接使用button。
只是CSS3之后,改寫原生標(biāo)簽樣式也變得容易,如圖所示:
再加上現(xiàn)在主流的UI組件庫,都會提供Button這一基礎(chǔ)組件,已經(jīng)沒多少人關(guān)心他底層是通過什么標(biāo)簽?zāi)M的了。