css的继承和级别关系

是这样的,一个网站布局好给客户看了.css什么的都没问题.但是客户提出要修改一个地方字体的颜色.不管是给标签加样式,还是添加class样式,都不起作用.必须要在上层(不定是上多少层)的id 下重新添加样式才可以.
即 a{xxx}和 .class{..},还有.class a{...},这样都不起作用,必须 #id .class才起作用.求高手指点为什么!!
不是这样.ID下其他没有父级的.class 就能起作用,后添加的就不行;例如说:#div{} 下有个链接,我后来想改变它颜色,再加.class1 a{} 或者 .class{} , a{} 都不起作用.只有加 #div a{} 这样写法起作用. 另外其他的类为了通用并没有#div .class{} 这样写法,但是仍然起作用. 如果是qipaiai说的那种情况,我会检查出来的.一般不会直接给 #div a{} 定义的,都是定义 class.

建议使用firefox的firebug查看这个节点的css继承关系,通过开启和关闭某个值对,重点排查有#号的继承样式,找到堵塞继承到目标样式的样式。然后再进行针对分析。

另外:

#ID的优先级可定比较高;你的情况很可能是使用了#parent a{}定义过样式,而#parent不一定是你的那个#div(#parent是#div的父节点或子节点的情况)也会优先于任何.class a{}和a{}的。 

*********************************************

首先使用Firefox调试工具firebug的css查看功能详细查看该节点的css样式继承,重点排查有#符号的样式,并通过开启和关闭各个继承样式的color值对来判断阻塞目标样式值继承的样式类,针对查看分析结果来做出改进。

另外:

#ID的优先级肯定比较高,你可能在某个地方使用了类似#parent a{}的color样式,那么它的级别肯定比任何.class a{}和a{}高;

而加 #div a{} 这样写法起作用,可以是#parent为#div的上级节点(父节点)所以#div a{}才起作用,不然也不起作用的。(parent是任意自定义的id值) 

我也很难猜测,有段源代码就好了。。。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-23
一、基于层叠(cascade)
css 的来源通常有三种:
1.浏览器 user agent 自带;
2.程序员 (author)指定;
3.用户(user)在浏览器中自己设定;
由于可以通过指定 !import (此语法使用需谨慎)强制越过等级,w3 平衡了用户与程序员的权利,实际上的优先级层次为:
1.浏览器 user agent 自带;
2.用户(user)在浏览器中自己设定;
3.程序员 (author)指定;
4.程序员 (author)指定 !import;
5.用户(user)在浏览器中自己指定 !important。

二、特殊性(specificity)的规定
由于在每个等级都可能会出现同一个元素被多个css规则影响,那么最终采用哪个规则就取决于哪个规则最特殊,优先级最高。每条规则的优先级根据其 css 选择器来指定,从高到底进行比较如下:
1.行内样式最高;
2.选择器中 id 的个数,多者优先;
3.选择器中 类,属性,伪类(last-child)的个数,多者优先;
4.选择器中元素,伪元素的个数,多者优先;
5.规则在文档中的出现顺序,后者优先。

三、继承(inheritance)的作用
若某个元素没有一条规则(程序员或用户)能够直接匹配到自己,那么根据相应的css属性定义决定是否可以继承:
1.可以继承,继承其父元素的对应计算值(computed value);
2.不可以继承,则应用浏览器(user agent)的默认值。本回答被网友采纳
第2个回答  2010-08-05
不起作用的原因应该是#ID的优先级比较高,你在里面定义了样式后一般的写法就不会起作用。如果只是一个地方,你可以直接给要修改那个元素指定id然后定义#id的样式即可。
第3个回答  2010-08-05
是颜色样式不起作用,被上面的覆盖了?
如果是这样,请指定绝对路径。比如:#drt #fgd .loao a{}
第4个回答  2015-05-21
如果不针对某个元素写CSS改变它的属性,那么它就会继承父级元素的某些属性。
不可继承的:display、margin、border、padding、background、height、min-height、max-height、width、min-width、max-width、overflow、position、left、right、top、bottom、z-index、float、clear、table-layout、vertical-align、page-break-after、page-bread-before和unicode-bidi。
所有元素可继承:visibility和cursor。
内联元素可继承:letter-spacing、word-spacing、white-space、line-height、color、font、font-family、font-size、font-style、font-variant、font-weight、text-decoration、text-transform、direction。
终端块状元素可继承:text-indent和text-align。
列表元素可继承:list-style、list-style-type、list-style-position、list-style-image。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网