CSS 中 继承规则 和规律?

来源:百度知道 编辑:UC知道 时间:2024/06/07 09:58:41
没有系统学过,都是经验
但是有时候几个问题有点校疑惑

例如:
#block .right {属性}
.right {属性}

1,这样的结果 是否 blcok 中的 right 是独立的属性,并且不继承 .right 的属性?
2,如果把.right 写在上面,会有影响么?偶尔发现
使用 #block .right {属性}
这种书写,会造成继承一些其他属性的东西。很晕

3,<ul class=type>
CSS 写 ul.type {属性}
但是有时候写 .type 也可以使用,有时候必须写 ul.type 才可以
还有就是 a.class li.class 是否可以直接用 .class 来书写?
a.class li.class 具体有更多的意思么?

跟我刚开始学的时候一样。
1 #block .right{} 能继承.right{}的属性同时还可以更改。就好象程序设计里的父类跟子类的关系。
2 没有影响。后面的问题说过了,因为继承了前面同名的class的属性

3. ul.type 只是说更精确的设置class样式。
比如:已经存在 .type{font-size:20px;}
而在ul里字体是12号字 就可以写ul.type{font-size:12px}
在一个意义就是方便阅读了吧。

我目前是这么理解的。看看高手有没有其他的解释吧。

1. 正常来说下面书写的样式优先于上面的,但是由于上面的 #block .right有更多特征值,所以#block .right的样式优先表现。 就这个例子来说,.right写在哪里都是比不过#block .right的。

2. 但是.right控制的范围更广,而#block .right只针对包含在id="block"内的right类。

3. 同2,控制的范围不同 所有type类和包含在<ul>内的type类。

参考一下这种加法规律帮助记忆
http://hi.baidu.com/canny_strive/blog/item/611964ee4fdc1dfeb3fb9521.html