border:none;与border:0;有两个区别:一是理论上的性能差异,二是浏览器兼容性的差异。
1.性能差异
【border:0;】虽然页面上看不到border作为“0”像素,但浏览器仍然根据border的默认值理解border-width/border-color进行渲染,即已占用内存值。
【border:none;】将border设置为“none没有,浏览器分析“none将不作渲染动作,即不会消耗内存值。
2.兼容性差异
兼容性差仅针对浏览器IE6、IE7,标签button、就input而言,在winnput中、win7、vista 这种情况发生在XP主题下。
【border:none;】当border“noneIE6/7的无效边框似乎仍然存在:
【border:0;】当border为“0”时,感觉比“0”好none“更有效的是,所有浏览器都一致隐藏边框,如下所示:
总结:
1. 比较border:0;与border:none;两者之间的区别在于有渲染和没有渲染,感觉他们和display:none;visibility:hidden;关系相似,但目前还没有找到测试border属性渲染性能对比的方法。虽然他们认为渲染性能存在差异,但只能说是理论上的。
2. 如何让border?:none;实现全兼容?只需在同一选择符上添加背景属性即可;
对border而言:0;与border:none;个人更倾向于使用,border:none;,因为border:none;毕竟性能消耗没有争议,背景属性不足以解决兼容性问题。