返回信息流查手册时,经常碰见这样的“矛盾”描述,看的很困惑。
比如,border:
这里面,第一个“红框”里说:“继承性:no”【我理解就是不继承。】
可是,下面的“红框”又说:“规定从父元素继承” 。
我就搞不清楚,到底是继承还是不继承了。
看手册里,很多属性的描述都有这样的“矛盾”,求解答。
另外,比如margin这样的属性,如果我不特别为元素设置。
那默认值,到底是0,还是“auto”,还是“未定义”?
(看w3school说的默认值是0,css权威指南说的是“未定义”,auto是自己理解的)。
另外,属性的默认值(有的书说的是“初始值”,不知道是不是一个意思?)
默认值,到底是CSS规范里规定的,还是说浏览器对这个属性默认赋予的值?
问题有些琐碎,见谅。感觉这些基础问题没搞清楚,书根本看不下去。
这是一条镜像帖。来源:北邮人论坛 / www-technology / #29235同步于 2015/1/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
[问题]新手求问CSS问题。
itsuki
2015/1/30镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
特意去查了一下相关的文档。
关于element的属性: http://www.w3.org/TR/2011/REC-CSS2-20110607/about.html#property-defs
主要由 Value, Initial, Applies to, Inherited, Percentage values, Media groups, Computed value 构成。
inheritance部分:http://www.w3.org/TR/CSS21/cascade.html#inheritance
所谓的「继承性」指的是Inherited,也就是说能否子element自动继承父element的Computed value。
如果无「继承性」,则子element不会自动继承父element的Computed value,但是如果子element的value为'inherit',则会继承父element的Computed value。所以和是否有「继承性」没有必然联系,也就不存在矛盾了。
这里 http://www.w3.org/TR/2011/REC-CSS2-20110607/cascade.html 提到,element的value是按照以下步骤推导得到的:
1. 如果指定了value,则使用之
2. 否则,如果element是可继承的,则使用父element的Computed value
3. 否则,使用initial value
所以字面意思是「初始值」,如果称为「默认值」也没有太大问题,不过如果用英文表示可能更准确。
至于margin的initial value,根据 http://www.w3.org/TR/2011/REC-CSS2-20110607/box.html#margin-properties ,应该是 0 。
【 在 itsuki 的大作中提到: 】
: 查手册时,经常碰见这样的“矛盾”描述,看的很困惑。
: 比如,border:
: [upload=1][/upload]
: ...................