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