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

原文链接https://segmentfault.com/q/1010000000694683/a-1020000001818777 感谢原作! 

要解释区别,首先得先介绍一下border这个属性。

border是一个简写属性。可以设置如下属性

  • border-width
  • border-style
  • border-color

平时写的时候不用写齐三个属性,写其中一两个也是允许的,比如

border: 1px solid;

为什么这样是可行的呢,因为这样写,浏览器会设置这个缺少属性的默认值。过程等价于(伪代码)

border-width: 1px;
border-style: solid;
border-color: value of color; /* `border-color`默认取该元素的`color`属性的值 */

同理border: 0;等价于(伪代码)

border-width: 0;
border-style: none; // `border-style`默认值为`none`
border-color: value of color;

border: none;等价于(伪代码)

border-width: medium; // `border-width`默认值为`medium`,具体大小根据浏览器的默认样式而定
border-style: none;
border-color: value of color

所以以下代码

border-width: 1px;
border: solid;

等价于

border-width: 1px;
border-width: medium; /* default */
border-style: solid;
border-color: value of color; /* default */

以上几个例子应该可以解释清楚这两个写法的区别了吧。

CSS里类似的属性还有一些,比如background,font等,在写的时候应该注意,简写属性会覆盖前面单个定义的属性值。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值