這問題在網路相信已經有不少人問到,最近再次被牽起討論,籍此記錄一下個人的理解,border:none;與border:0;的區別體現有兩點:一是理論上的效能差異二是瀏覽器相容性的差異。
效能差異:
【border:0;】把border設為「0」畫素雖然在頁面上看不見,但按border預設值理解,瀏覽器依然對border-width/border-color進行了渲染,即已經占用了記憶體值。
【border:none;】把border設為「none」即沒有,瀏覽器解析「none」時將不作出渲染動作,即不會消耗記憶體值。
相容性差異:
相容性差異只針對瀏覽器ie6、ie7與標籤button、input而言,在win、win7、vista 的xp主題下均會出現此情況。
【border:none;】當border為「none」時似乎對ie6/7無效邊框依然存在,如下例demo1:
【border:0;】當border為「0」時,感覺比「none」更有效,所有瀏覽器都一致把邊框隱藏,如下例demo2:
總結:
對比border:0;與border:none;之間的區別在於有渲染和沒渲染,感覺他們和display:none;與visibility:hidden;的關係類似,而對於border屬性的渲染效能對比暫時沒找測試的方法,雖然認為他們存在渲染效能上的差異但也只能說是理論上。
如何讓border:none;實現全相容?只需要在同一選擇符上新增背景屬性即可,如下例demo3:
對於border:0;與border:none;個人更向於使用,border:none;,因為border:none;畢竟在效能消耗沒有爭議,而且相容性可用背景屬性解決不足以成為障礙。
border none 與border 0 的區別
border none 與border 0 的區別體現有兩點 一是理論上的效能差異二是瀏覽器相容性的差異。效能差異 border 0 把border設為 0 畫素雖然在頁面上看不見,但按border預設值理解,瀏覽器依然對border width border color進行了渲染,即已經占用了記憶...
border none 與border 0 的區別
這問題在網路相信已經有不少人問到,最近再次被牽起討論,籍此記錄一下個人的理解,border none 與border 0 的區別體現有兩點 一是理論上的效能差異二是瀏覽器相容性的差異。1.效能差異 border 0 把border設為 0 畫素雖然在頁面上看不見,但按border預設值理解,瀏覽器依...
border none 與border 0的區別
border none與border 0的區別體現為兩點 一是理論上的效能差異,二是瀏覽器相容性的差異。效能差異 border 0 把border設為 0 畫素效果等於border width 0,瀏覽器依然對border width border color進行了渲染,即已經占用了記憶體值。bor...