border:none;与border:0;的区别

这问题在网络相信已经有不少人问到,最近再次被牵起讨论,籍此记录一下个人的理解,border:none;与border:0;的区别体现有两点:

一是理论上的性能差异二是浏览器兼容性的差异。

1.性能差异


【border:0;】把border设为“0”像素虽然在页面上看不见,但按border默认值理解,

浏览器依然对border-width/border-color进行了渲染,即已经占用了内存值。

【border:none;】把border设为“none”即没有,浏览器解析“none”时将不作出渲染动作,即不会消耗内存值。

2.兼容性差异

兼容性差异只针对浏览器IE6、IE7与标签button、input而言,在win、win7、vista 的XP主题下均会出现此情况。

【border:none;】当border为“none”时似乎对IE6/7无效边框依然存在,如下例



【border:0;】当border为“0”时,感觉比“none”更有效,所有浏览器都一致把边框隐藏


总结:

1.
对比border:0;与border:none;之间的区别在于有渲染和没渲染,感觉他们和display:none;

与visibility:hidden;的关系类似,而对于border属性的渲染性能对比暂时没找测试的方法,虽然认为他们存在渲染性能上的差异但也只能说是理论上。

2.
如何让border:none;实现全兼容?只需要在同一选择符上添加背景属性即可

下载 (29.3 KB)

2011-3-26 21:39

对于border:0;与border:none;个人更向于使用,border:none;,因为border:none;

毕竟在性能消耗没有争议,而且兼容性可用背景属性解决不足以成为障碍。

border:none;与border:0;的区别,布布扣,bubuko.com

时间: 2024-10-10 13:18:04

border:none;与border:0;的区别的相关文章

border:none与border:0的区别

border:none与border:0的区别体现为两点:一是理论上的性能差异,二是浏览器兼容性的差异. 性能差异: [border:0;]把border设为"0"像素效果等于border-width:0,浏览器依然对border-width.border-color进行了渲染,即已经占用了内存值. [border:none;]把border设为"none",实际效果等同于border-style:none,浏览器解析"none"时将不作出渲染动

border:none 与border:0的区别

border:none与border:0的区别体现为两点:一是理论上的性能差异,二是浏览器兼容性的差异. 性能差异: [border:0;]把border设为“0”像素效果等于border-width:0,浏览器依然对border-width.border-color进行了渲染,即已经占用了内存值. [border:none;]把border设为“none”,实际效果等同于border-style:none,浏览器解析“none”时将不作出渲染动作,即不会消耗内存值. 兼容性差异: IE6.IE

CSS中设置border:none和border:0的区别

在我们设置CSS的时候,对标签元素不设置边框属性或者取消边框属性一般设置为:border:none;或border:0;两种方法均可. border:none;与border:0;的区别体现有两点:一是理论上的性能差异:二是浏览器兼容性的差异. 1.性能差异 [border:0;]把border设为"0"像素虽然在页面上看不见,但按border默认值理解,浏览器依然对border-width/border-color进行了渲染,即已经占用了内存值.[border:none;]把bord

table border 和css border的区别

<table width="98px" height="50px" style=" border:solid 1px blue;" > <tr> <td colspan="2">1</td> </tr> <tr> <td>1</td> <td style="font-weight: 700">2<

css 中border: 1px solid rgba(0, 0, 0, 0.1); 是什么意思?

border:1px solid rgba(0,0,0,0.1);意思是 设定元素的边框为1像素宽,实线,颜色使用rgba来表达.其中,rgba是CSS3中的属性,rgba括号中前3个数字代表着 red green blue三种颜色的rgb值,0-255,最后一个是设定这个颜色的透明度即alpha值.范围从0到1,越接近1,代表透明度越低.

android finish和system.exit(0)的区别

finish是Activity的类,仅仅针对Activity,当调用finish()时,只是将活动推向后台,并没有立即释放内存,活动的资源并没有被清理:当调用System.exit(0)时,杀死了整个进程, 这时候活动所占的资源也会被释放. 在开发android应用时,常常通过按返回键(即keyCode == KeyEvent.KEYCODE_BACK)就能关闭程序,其实大多情况下该应用还在任务里运行着,其实这不是我们想要的结果. 我们可以这样做,当用户点击自定义的退出按钮或返回键时(需要捕获动

href=#与href=javascriptvoid(0)的区别

#"包含了一个位置信息 默认的锚点是#top 也就是网页的上端 而javascript:void(0)  仅仅表示一个死链接 这就是为什么有的时候页面很长浏览链接明明是#可是跳动到了页首 而javascript:void(0) 则不是如此 所以调用脚本的时候最好用void(0) 或者<input onclick> <div onclick>等 打开新窗口链接的几种办法 1.window.open('url') 2.用自定义函数 <script>       

【转载】C/C++杂记:NULL与0的区别、nullptr的来历

原文:C/C++杂记:NULL与0的区别.nullptr的来历 某些时候,我们需要将指针赋值为空指针,以防止野指针. 有人喜欢使用NULL作为空指针常量使用,例如:int* p = NULL;. 也有人直接使用0值作为空指针常量,例如:int* p = 0;. 前者可能觉得:NULL作为空指针常量,名字很形象,可读性较强. 后者可能觉得:NULL并不是C/C++语言的关键字,而是一个在标准库头文件<stddef.h>中定义的宏,因此要使用NULL,可能需要直接或简介地包含<stddef.

C/C++语言中NULL、&#39;\0’和0的区别

注:本文参考了http://blog.csdn.net/mylinx/article/details/6873253及书籍<征服C指针>([日]前桥和弥著). NULL.'\0'和0的值是一样的,都是0,不过它们的表现形式不一样: 1. NULL: 即空指针,不过在C和C++中并不一样.在VS 2013的库文件string.h中可以看到如果定义. 1 /* Define NULL pointer value */ 2 #ifndef NULL 3 #ifdef __cplusplus 4 #d