border:none与border:0使用区别

 无边框用border:none还是border:0一直都是一个热议的问题,两者除了在渲染性能上面的差别以为,在标准浏览器中页面表现是没有任何差别的。下面一起认识一下它们本质的区别

一、border:none
border-style的简写
在chrome审查元素看到以下结果
 代码如下:
element.style {
border: none;
border-top-style: none;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
border-width: initial;
border-color: initial;
}
 
在firefox中用firebug查看元素会看到以下结果:
 代码如下:
element.style {
    border: medium none;
}
 
注意这个medium值
二、border:0
border-width的简写
在chrome审查元素看到以下结果
代码如下:
element.style {
border: 0;
border-top-width: 0px;
border-right-width: 0px;
border-bottom-width: 0px;
border-left-width: 0px;
border-style: initial;
border-color: initial;
}
 
在firefox中用firebug查看元素会看到以下结果:
复制代码 代码如下:
element.style {
    border: 0 none;
}
 
注意在firebug中border:none和border:0的区别
下面举个例子来具体说明下
代码如下:
<style>
div {border: 1px solid black; margin: 1em;}
.zerotest div {border: 0;}
.nonetest div {border: none;}
div.setwidth {border-width: 3px;}
div.setstyle {border-style: dashed;}
</style>
<div class="zerotest">
<div class="setwidth">
"Border: 0" and "border-width: 3px"
</div>
<div class="setstyle">
"Border: 0" and "border-style: dashed"
</div>
</div>
<div class="nonetest">
<div class="setwidth">
"Border: none" and "border-width: 3px"
</div>
<div class="setstyle">
"Border: none" and "border-style: dashed"
</div>
</div>
 
有兴趣的朋友可以复制以上代码在这个浏览器试一试:
测试结果:
1、.zerotest .setwidth
虽然定义了border-width:3px,但是border-style:none 所以无边框(IE7会显示3像素的边框,这跟border:0解析有关。下面会讲到)
2、.zerotest .setstyle
虽然定义了border-style: dashed,但是border-width:0 所以无边框
3、.nonetest .setwidth
虽然定义了border-width:3px,但是border-style:none 所以无边框(IE7下无边框)
4、.nonetest .setstyle
定义了border-style:dashed border-style为默认值medium border-color为默认值black 所以会显示3像素黑色的虚线框(IE7下为一像素)
综合1、4可以分析出在IE7下
border:0 被解析为 border-width:0
border:none 被解析为 border-style:none
再来看看标准浏览器
border:0 比 border:none多渲染了一个border-width:0,也就是为什么border:none的性能要比border:0高
所以设计蜂巢建议使用border:none来实现无边框效果 
 

时间: 2024-10-18 23:43:35

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

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

核心提示:这问题在网络相信已经有不少人问到,最近再次被牵起讨论,籍此记录一下个人的理解,border:none;与border:0;的区别体现有两点:一是理论上的性能差异二是浏览器兼容性的差异. 这问题在网络相信已经有不少人问到,最近再次被牵起讨论,籍此记录一下个人的理解,border:none;与border:0;的区别体现有两点:一是理论上的性能差异二是浏览器兼容性的差异. 1.性能差异 [border:0;]把border设为"0"像素虽然在页面上看不见,但按border默认值理

border:none与border:0使用区别_基础教程

一.border:noneborder-style的简写在chrome审查元素看到以下结果 复制代码 代码如下: element.style {border: none;border-top-style: none;border-right-style: none;border-bottom-style: none;border-left-style: none;border-width: initial;border-color: initial;} 在firefox中用firebug查看元素

详解a href=#与 a href=javascript:void(0) 的区别

 a href="#"> 点击链接后,页面会向上滚到页首,# 默认锚点为 #TOP <a href="javascript:void(0)" onClick="window.open()"> 点击链接后,页面不动,只打开链接 <a href="#" onclick="javascript:return false;"> 作用同上,不同浏览器会有差异. 点击链接后,不想使页面滚到

javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别_javascript技巧

Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值. void 操作符用法格式如下: 1. javascript:void (expression) 2. javascript:void expression expression 是一个要计算的 Javascript 标准的表达式.表达式外侧的圆括号是选的,但是写上去是一个好习惯. 你以使用 void 操作符指定超级链接.表达式会被计算但是不会当前文档处装入任何内容. 示例-点击超链接不跳转 1:<a href

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

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

数据绑定控件再ASP.NET1.X和ASP.NET2.0的区别

asp.net|控件|区别|数据 数据绑定在ASP.NET2.0里进一步得到简化,绑定控件的基类来自于BaseDataBoundControl,你可以到http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.basedataboundcontrol_members(VS.80).aspx查看该类如果你查看该类的成员,请注意下面两个属性和方法 virtual object DataSource  { get; set;

SNS与2.0的区别

以前一直没有注意到SNS的概念,忽然有一天看到facebook和myspace等美国的网站的消息,并且说是SNS,似乎国内的网站还没有过这个概念,于是就很好奇,SNS与2.0的概念到底有什么区别? 在艾瑞网的导航栏上,SNS是放在2.0版块下面,2.0版块还包括:博客.社区.网络交友.电子杂志等.看来,我们是有必要把2.0和博客.社区.SNS.交友等容易混淆的概念做个阐释和比较了.(以下解释来自"百度知道") 1.博客:blog的全名应该是Web log,中文意思是"网络日志

浅谈SNS与2.0的区别

中介交易 SEO诊断 淘宝客 云主机 技术大厅 以前一直没有注意到SNS的概念,忽然有一天看到facebook和myspace等美国的网站的消息,并且说是SNS,似乎国内的网站还没有过这个概念,于是就很好奇,SNS与2.0的概念到底有什么区别? 在艾瑞网的导航栏上,SNS是放在2.0版块下面,2.0版块还包括:博客.社区.网络交友.电子杂志等.看来,我们是有必要把2.0和博客.社区.SNS.交友等容易混淆的概念做个阐释和比较了.(以下解释来自"百度知道") 1.博客:blog的全名应该

href=&quot;#&quot;与href=&quot;javascript:void(0)&quot;的区别

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