展会信息港展会大全

border:none与border:0使用区别 HTML CSS
来源:互联网   发布日期:2016-01-19 12:57:00   浏览:1862次  

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

无边框用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来实现无边框效果

赞助本站

人工智能实验室

相关热词: CSS HTML border:0 border:none

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港